国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php學習筆記(三)面向?qū)ο蟾呒墝嵺`

Hancock_Xu / 2251人閱讀

摘要:由于靜態(tài)方法不需要通過對象即可調(diào)用,所以偽變量在靜態(tài)方法中不可用。繼承一個抽象類的時候,子類必須定義父類中的所有抽象方法另外,這些方法的訪問控制必須和父類中一樣。

extends對象繼承

PHP中類不允許同時繼承多個父類,也就是extends后面只能跟一個父類名稱,這個特性被稱為PHP的單繼承特性

當擴展一個類,子類就會繼承父類所有公有的和受保護的方法。除非子類覆蓋了父類的方法,被繼承的方法都會保留其原有功能。

printItem("baz"); // Output: "Foo: baz"
$foo->printPHP();       // Output: "PHP is great" 
$bar->printItem("baz"); // Output: "Bar: baz"
$bar->printPHP();       // Output: "PHP is great"

?>
訪問控制(可見性)

對屬性或方法的訪問控制,是通過在前面添加關(guān)鍵字 public(公有),protected(受保護)或 private(私有)來實現(xiàn)的。

面向?qū)ο蟮娜N訪問權(quán)限:
——public共有的類成員,可以再任何地方被訪問到

 - 定義該成員的類(自身),該類的子類,其他類

——protected受保護的類成員,可以被其自身和子類訪問

——private私有的類成員,只有自身可以訪問,子類和其他類都無法訪問

class NbaPlayer 
{
    // 類的屬性的定義
    public $team="Bull";
    public $playerNumber="23";

    private $age="40"; // private 類型的屬性不能被對象外部訪問,但是可以在對象內(nèi)部使用

$jordan = new NbaPlayer("Jordan", "198cm", "98kg", "Bull", "23");
// 訪問對象的屬性使用的語法是->符號,后面跟著屬性的名稱
echo $jordan->age."
";//Fatal error: Cannot access private property 
Static(靜態(tài))關(guān)鍵字

聲明類屬性或方法為靜態(tài),就可以不實例化類而直接訪問。靜態(tài)屬性不能通過一個類已實例化的對象來訪問(但靜態(tài)方法可以)。

由于靜態(tài)方法不需要通過對象即可調(diào)用,所以偽變量 $this 在靜態(tài)方法中不可用。

靜態(tài)屬性不可以由對象通過 -> 操作符來訪問。

age . "
"; // 不能在靜態(tài)方法中使用this偽變量,也不能用對象的->方式調(diào)用靜態(tài)成員

    }
}   

// 類名加“::”可以訪問類的靜態(tài)成員
// 靜態(tài)成員不需要實例化就可以訪問
echo "The president is ". NbaPlayer::$president. "
";//The president is David Stern 

NbaPlayer::changePresident("Adam Silver");

echo "The president is changed to ". NbaPlayer::$president. "
";//The president is changed to Adam Silver

?>
Final 關(guān)鍵字

如果父類中的方法被聲明為 final,則子類無法覆蓋該方法。如果一個類被聲明為 final,則不能被繼承。

屬性不能被定義為 final,只有類和方法才能被定義為 final

test();
?>
對象接口

接口是通過 interface 關(guān)鍵字來定義的,就像定義一個標準的類一樣,但其中定義所有的方法都是空的。

接口中定義的所有方法都必須是公有,這是接口的特性。

實現(xiàn)(implements)

要實現(xiàn)一個接口,使用 implements 操作符。類中必須實現(xiàn)接口中定義的所有方法,否則會報一個致命錯誤。類可以實現(xiàn)多個接口,用逗號來分隔多個接口的名稱。

實現(xiàn)多個接口時,接口中的方法不能有重名。

eat("Apple");
$monkey = new Animal();
$monkey->eat("Banana")  

?>
抽象類

定義為抽象的類不能被實例化。任何一個類,如果它里面至少有一個方法是被聲明為抽象的,那么這個類就必須被聲明為抽象的。

繼承一個抽象類的時候,子類必須定義父類中的所有抽象方法;另外,這些方法的訪問控制必須和父類中一樣。

抽象類前面以abstract關(guān)鍵字開始

eat("Apple");
$man->breath(); // 和Animal共用了抽象類ICanEat的breath方法
$monkey = new Animal();
$monkey->eat("Banana");
$monkey->breath();

?>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/20848.html

相關(guān)文章

  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學習一門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    caspar 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學習一門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    nihao 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學習一門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    Drummor 評論0 收藏0
  • PHPer書單

    摘要:想提升自己,還得多看書多看書多看書下面是我收集到的一些程序員應(yīng)該看得書單及在線教程,自己也沒有全部看完。共勉吧當然,如果你有好的書想分享給大家的或者覺得書單不合理,可以去通過進行提交。講師溫銘,軟件基金會主席,最佳實踐作者。 想提升自己,還得多看書!多看書!多看書!下面是我收集到的一些PHP程序員應(yīng)該看得書單及在線教程,自己也沒有全部看完。共勉吧!當然,如果你有好的書想分享給大家的或者...

    jimhs 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<