《PHP的類和對象(四)訪問控制和繼承》要點:
本文介紹了PHP的類和對象(四)訪問控制和繼承,希望對您有用。如果有疑問,可以聯系我們。
歡迎參與《PHP的類和對象(四)訪問控制和繼承》討論,分享您的想法,維易PHP學院為您提供專業教程。
拜訪控制
對屬性或方法的拜訪控制,是通過在前面添加關鍵字 public(公有),protected(受保護)或 private(私有)來實現的.被定義為公有的類成員可以在任何地方被拜訪.被定義為受保護的類成員則可以被其自身以及其子類和父類拜訪.被定義為私有的類成員則只能被其定義所在的類拜訪.
默認為Public,var也是Public.
拜訪同一個對象類型的私有成員
如果構造函數定義成了私有辦法,就不能直接實例化對象了,這時候一般通過靜態辦法進行實例化,在設計模式中會經常使用這樣的辦法來控制對象的創建,比如單例模式只允許有一個全局唯一的對象.
對象承繼
通過extends來繼承,子類就會繼承父類所有公有的和受保護的辦法.除非子類覆蓋了父類的辦法,被繼承的辦法都會保留其原有功能.
如果父類中的辦法被聲明為 final,則子類無法覆蓋該辦法.同樣如果一個類被聲明為 final,則不能被繼承. 需要注意的是: 屬性不能被定義為 final,只有類和辦法才能被定義為 final.
如果新的類中沒有本身的構造函數,那么子類會自動調用父類的構函數.
子類可以使用parent::辦法()或者$this->辦法()(不建議使用)來調用父類的函數.
如果一個子類中的辦法與父類同名,那么 parent::辦法() 調用的是父類的辦法,而 $this->辦法() 調用的是子類的辦法.
屬性無法區分父類和子類,可以使用$this->屬性(沒有$)挪用,子類同名屬性會覆蓋父類的.