1、__constract()建構函式知識點
a、例項化物件的時候,如果子類沒有建構函式,就呼叫父類的建構函式。如果子類有建構函式,這首先呼叫自己。
b、呼叫父類的建構函式 parent::__constract();
2、php不支援多重繼承,因為多重繼承容易產生二義性。但如果讓c->b->a,就可以實現多重繼承的功能。
3、多型:即多種形態。可以分為方法的重寫和方法的過載,但php不支援方法的過載,只支援方法的重寫。
a、子類必須要父類具有相同的方法名;
b、子類中重寫的方法可以和父類的方法引數個數不一致(不遵循嚴格標準);
c、子類中覆蓋的方法不能比父類被覆蓋的方法許可權更加嚴格;
d、私有屬性可以被繼承,但不能被重寫。
4、方法修飾符(一)static(靜態的)
a、static修飾的屬性為靜態屬性,static修飾的方法為靜態方法;
b、靜態屬性在載入類的時候就分層記憶體空間,不需要例項化就可以直接訪問靜態成員;
c、靜態屬性在記憶體中只有乙份,為所有的例項共享;
d、靜態方法只能訪問靜態成員,因為靜態方法建立的時候,可能還沒有類的例項化;
e、訪問靜態成員語法,類名::靜態屬性,類名::靜態方法;
f、靜態成員被繼承
5、方法修飾符(二)-final(最終的)
a、final 修飾的類不能被繼承;
b、final修飾的方法不能被重寫(覆蓋)
6、方法修飾符(三)-abstract(抽象的)
a、abstract修飾的類為抽象類,abstract修飾的方法稱為抽象方法;
b、如果乙個方法只有方法的宣告,沒有方法的實現,這個方法就稱為抽象方法;
c、如果乙個類中有乙個方法是抽象方法,這個類就是抽象類;
d、抽象類不允許例項化,必須在子類中重新實現;
e、抽象類的作用:抽象類是用來定義規範的,可以使得方法的命名得到統一;
f、抽象類的特點是不能被例項化,如果乙個普通類不想被例項化,可以在類的前面用abstract來修飾,阻止例項化。
7、介面(inte***ce)
a、如果乙個抽象類中所有的方法就是抽象方法,這個類可以宣告成介面;
b、介面是乙個特殊的抽象類;
c、介面中的訪問修飾符可以省略 ,預設是public;
d、類不能繼承介面,只能實現介面(implement);
e、abstract,final不能修飾介面中的抽象方法;
f、類不能多重繼承,但是介面可以實現多重繼承;
g、在介面的多重實現中,如果有多個同名的抽象方法,只需要實現一次即可。
h、繼承類同時實現介面,先要繼承類,再實現介面。
8、類常量
1、語法:const 常量名
2、訪問常量: 類名::常量名 介面名::常量名;
php基礎 物件導向
物件導向的申明方式 物件class one b newone b aa 建構函式建構函式 是一種特殊的方法。主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。php 5 允行開發者在乙個類中定義乙個方法作為建構函式,語法格式如下 class sit...
php基礎 物件導向
物件導向和面向過程的區別 優缺點 類 具有相同特性和行為的物件的抽象就是類。因此,物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件,類實際上就是一種資料型別。在物件導向的程式語言中,類 是乙個獨立的程式單位,它應該有乙個類名幷包括 屬性 說明和 方法 說明兩個主要部分。類的成員 類的成員主...
PHP物件導向的基礎
1 使用extends實現繼承以及過載 魔術方法的含義 class b extends a 宣告的時候b裡可以沒有a裡的方法 呼叫的時候 b new b b a裡的方法 b a裡的屬性 1 b b裡的方法 b b裡的方法 如果 a new a 可以 a a裡的方法 a a裡的屬性 1 不可以 a b...