#關鍵字
extends:繼承
private:私有屬性
protected:受保護屬性
public:公共屬性
final:修飾類和成員方法(不能修飾成員屬性)被修飾的類不能被繼承,被修飾的方法不能被子類重構覆蓋
static:使用靜態可以修飾成員的屬性和成員方法,可以被同乙個類所有物件共享(訪問方式: 靜態成員:類名::$成員 ,在內部訪問其它成員:self::$成員 )
const:類名中宣告常量屬性使用const(他只能修飾成員屬性)和define一樣。訪問方式跟靜態方法一樣減去$符,常量宣告時候一定要給初始值;
instanceof:判斷這個物件是否是後面這個類的例項,
abstract:抽象類與抽象方法(用於定義規範,
修飾類與方法)半成品,不能用
inte***ce:介面
implements:類與介面之間實現
多型,不同物件做一件事得到不同結果
#方法
__get():沒許可權訪問時候自動呼叫( 訪問私有屬性 )
__set(): 無權操作的屬性賦值時, 或不存在的屬性賦值時, __set()自動呼叫(方法用來設定私有屬性)
__isset() : 用isset() 判斷物件不可見的屬性時(protected/private/不存在的屬性) 會引發 __isset()來執行
__construct(): 構造方法
__destruct():析構方法
__clone(): 轉殖方法,當物件被轉殖時,將會自動呼叫
__unset(): 當 用unset 銷毀物件的不可見屬性時, 會引發 __unset();
__call():作用:在呼叫物件中不存在的方法時,就會出現系統報錯,然後退出, 宣告時候自動呼叫:就是在呼叫乙個物件中不存在的方法時自動呼叫(處理一些不存在的方法的錯誤呼叫,需要兩個引數,具體的看api)
__callstatic:呼叫乙個不存在的靜態方法的時候自動呼叫
__tostring():時機:將乙個物件當作字串輸出的時候自動呼叫(直接echo 物件)。必須return
__invoke() :時機:將乙個物件當作函式呼叫的時候回自動呼叫
__sellp:將物件轉換為字串用於持久儲存(使用serialize 將物件序列化的時候會自動呼叫,序列化乙個物件將會儲存物件的所有屬性變數和類名資訊,但是不會儲存物件的方法)
__wakeup:使用unserialize 將字串還原為物件的時候會自動呼叫
__autoload():例項化物件時,自動呼叫(其它的魔術方法都是在類中新增起作用,這是乙個唯一乙個不在類中新增方法的,只要在頁面中使用掉乙個類,只要用到這個類名,就會自動將類名傳給這個引數)
php物件導向常見的關鍵字和魔術方法
1.final關鍵字 最終版本的類或方法,在類的前面加上final表示該類不能被繼承,在方法前面加上final表示該方法不能在子類中重寫。1.類不能被繼承 final class aclass b extends a 2.方法不能被重寫 classa class b extendsa 2.stati...
常用關鍵字和魔術方法
常用關鍵字 1.fanal a.不能修飾成員屬性,只有修飾類和方法 b.修飾類時不能被繼承,修飾方法時不能被子類覆蓋 2.static b.資料存在資料記憶體的資料段中 c.修飾屬性和方法,不能修飾類 d.靜態的成員都要用類名去訪問,不用建立物件,不用物件去訪問 如果在本類中使用靜態成員,可以使用s...
物件導向關鍵字
this關鍵字 this是一種特殊的引用,指向當前物件 this的兩種使用方法 1 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分例項變數和區域性變數 2 乙個構造方法中需要呼叫同乙個類的另乙個構造方法,可以通過this 的方式呼叫,但this 必須要書寫在第一行 ...