PHP物件導向關鍵詞static 、self

來源:互聯網
上載者:User

標籤:方法調用   執行個體   事先   one   固定   執行個體化   屬性   訪問   物件導向   

知識點:

一、static可以修飾類內的屬性或方法,被修飾的屬性或方法在類外部,不能被執行個體化成對象訪問,而是使用類本身進行訪問,而靜態方法如果想使用靜態屬性,則需要用self::這樣的寫法來訪問靜態屬性,self即代表類本身,而不是$this,$this意為執行個體化後的對象本身,兩者有很大區別。

二、self即類本身,使用self可以協助方法調用靜態屬性(因為靜態屬性只能被類訪問)

代碼:

<?phpclass Test{static $one = ‘q‘;public function __construct(){}static function test(){echo ‘測試成功!‘;}public function getone(){return self::$one;}}echo Test::$one;//屬性訪問成功Test::test();//方法執行成功$a = new Test(‘s‘);$res = $a->getone();echo $res;//屬性訪問成功?>

意義:

項目中遇到很多一成不變的程式功能(例如:資料庫連接),我們傳入的參數相較其他程式總是傳入固定參數,每次new這個類總會消耗一些資源,如果可以的話,我們想事先執行個體化好一個對象,每次程式需要他的時候直接對這個對象進行調用,那就OK了,這裡就需要使用self+static實現對原本的類進行一些修改,使這個類自動產生對象,而我們使用這個對象即可。這個思想即單例模式。

PHP物件導向關鍵詞static 、self

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.