物件導向opp 關鍵字和魔術方法

2021-07-24 08:14:25 字數 1701 閱讀 3600

#關鍵字

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 必須要書寫在第一行 ...