一,常用關鍵字。
a,final
1,不能修飾成員屬性。只能修飾類和類中的方法。
2,使用final修飾的類不能被子類繼承!
3,使用final修飾的類不能被子類覆蓋(或重寫)!
作用---------------->用來使類不被繼承,方法不被覆蓋!
b,static(類級別)
1,可以將類中的成員(屬性,方法)標識為靜態的,但不能修飾類!
2,(儲存在記憶體的「資料段」)
3,修飾的成員屬性可以被同乙個類中的所有物件共享。
4,靜態資料是在類第一次被載入時分配到記憶體中的,以後再用到類時直接從「資料段」中獲取。
5,只要在程式中使用到這個類(類名出現即類被載入),那麼這個類就被載入了。
注意:靜態的成員(方法,屬性)都要使用類名去訪問,不需用(不要用)建立物件,就可以呼叫。
格式:類名::靜態成員屬性(方法)---------物件內外均為此格式!
注意:如果在類中使用或者訪問靜態成員,可以使用self代表本類,這樣在修改了類名的時候,可以不用修改「類名」的引用!
6,靜態方法(static修飾的)不能訪問非靜態的成員。(在非靜態的方法中可以訪問靜態成員)因為非靜態的成員必須用物件來訪問,這時訪問內部的成員就需要使用$this關鍵字。但是靜態方法是直接用類名訪問的,即根本沒有例項化物件,不存在物件,則$this關
鍵字也不知道指向哪個物件,所以靜態方法(static修飾的)不能訪問非靜態的成員。
所以,如果確定乙個方法不使用非靜態成員,那麼可以將此方法宣告為靜態方法!
c,const
1,只能修飾成員屬性。
2,類中宣告常量使用const關鍵字。
3,格式為:和define一樣。為----------->const ip = "192.168.1.1" ;
4,訪問方式和靜態成員屬性一致。在類外部---------->類名::常量名。在類內部---------------->self::常量名。
5,類中的常量一定要在宣告時賦值。(儲存在「資料段」)
二,常用魔術方法。
a,__call();
1,在呼叫物件中不存在的方法時,__call()魔術方法會自動呼叫
2,處理一些不存在方法的錯誤呼叫。
3,這個方法需要兩個引數。
function __call($methodname,$args){
b,__tostring();
1,用來快速讀取物件用字串表示的最便捷方法。
2,直接輸出物件的引用時自動呼叫。
3,該方法必須返回乙個字串。
c,__clone();
1,複製(轉殖)物件使用clone處理---------->$p1 = clone $object。
2,__clone()是在轉殖物件的時候自動呼叫。
3,只要乙個物件一誕生,就要有初始化的動作。
4,和構造方法__construct()相似,它是為轉殖出來的副本物件初始化。
5,在__clone()方法中$this關鍵字代表的是副本物件。($that代表原本物件。)
d,__autoload();
1,其他的魔術方法都是在類中新增起作用的,這是唯一乙個不在類中新增的方法。
2,在類外部新增的方法,可以自動載入類!
3,只要在頁面中使用到乙個類,就會自動將類名傳給__autoload(類名引數)類名引數。
物件序列化(序列化):將乙個物件轉為二進位制串。
1,將物件長時間儲存在資料庫或檔案時使用物件序列化。
2,將物件在多個php檔案中傳輸時使用物件序列化。
serialize():引數是乙個物件,返回這個物件序列化後的二進位制串。------------序列化
unserialize():引數是物件的二進位制串,返回來的就是原序列化之前的物件。----------------反序列化
e,__sleep();
1,在物件序列化時自動呼叫的方法。
2,可以將乙個物件部分序列化。(只要這個方法中返回乙個陣列,陣列中有幾個成員屬性,就序列化幾個屬性。如果不加這個方法,則所有成員都被序列化!)
f,__wakeup();
1,在物件反序列化時自動呼叫的方法。
2,可以將乙個物件部分反序列化。(也是物件重新誕生的過程------>__construct(),__wakeup(),__clone())
PHP5中Static和Const關鍵字
1 static static要害字在類中是,描述乙個成員是靜態的,static能夠限制外部的訪問,因為static後的成員是屬於類的,是不屬於任何物件例項,其他類是無法訪問的,只對類的例項共享,能一定程式對該成員盡心保護。類的靜態變數,非常類似全域性變數,能夠被所有類的例項共享,類的靜態方法也是一...
php物件導向(OOP) final關鍵字
這個關鍵字只能用來定義 類和定義 方法,不能使用final這個關鍵字來定義成員屬性,因為final是常量的意思,我們在php裡定義常量使用的是define 函式,所以不能使用final來定義成員屬性。使用final關鍵標記的類不能被繼承 final class person class studen...
5 物件導向 中之關鍵字 super
1.super 關鍵字可以理解為 父類的 2.可以用來呼叫的結構 屬性 方法 構造器 3.super呼叫屬性 方法 3.1 我們可以在子類的方法或構造器中。通過使用 super.屬性 或 super.方法 的方式,顯式的呼叫父類中宣告的屬性或方法。但是,通常情況下,我們習慣省略 super.3.2 ...