程序導向的基礎是一句一句的程式碼,而物件導向的基礎則是物件,物件則由類的範例而來。
類的定義:具有相同的屬性定義和行為表現的事物的集合。
類是變數(變的屬性)與作用於這些變數的函數(類的方法)的集合,屬性與方法是構成類的基礎。
1、類的封裝
類是變數與作用於變數的函數的集合,那麼建立類就離不開變數和函數。
為類新增屬性就是向類中加入新的變數,可以使用public、protected和private關鍵字來定義。使用public修飾的變數可以在類外部被存取,使用protected 和private修飾的變數則不可在類外部被存取。
為類新增方法就是向類中增加函數,呼叫類的方法就是執行其中的函數。要實現為類新增方法,只需向類中加入新的函數即可。
如果在函數中要參照類本身的屬性或方法,這時必須使用偽變數$this加上參照的屬性或方法名,才能實現功能。
2、類的繼承
通常需要這樣一些類,這些類與其他現有的類擁有相同的變數和函數。
通過擴充套件或派生出來的類擁有基礎類別或父類別的所有變數和函數,並包含所有派生類中定義定義的部分。同時,擴充類總是依賴一個單獨的基礎類別,也即不支 持多重繼承。
語法:class 子類 extends 父類別
需要注意的是,使用public和protected修飾的屬性和方法可以被子類繼承,而使用private修飾的屬性和方法則不可以被子類繼承。
3、類的過載
一個子類中的屬性或方法有時會與它所繼承的父類別中的屬性或方法重名,這時就出現了類的過載。
類的過載實際上是類屬性以及類的方法的過載。
當然,在子類中也可以存取父類別中的方法,不過要使用self和parent這兩個特殊的關鍵字,它們是用於在類的內部對成員或方法進行存取的。
$this是指向物件範例的一個指標,在範例化的時候來確定指向;
self是指對類本身的一個參照,一般self指向類中的靜態變數。形式:self::靜態變數名
parent是對父類別的參照,一般使用parent來呼叫父類別的建構函式。
4、PHP中與類、物件相關的函數
class_exists()函數 返回型別:布林值
功能:該函數檢查類是否已經定義
get_class_methods()函數 返回型別:陣列(全部方法名)
功能:該函數返回由類的方法名組成的陣列
get_class_vars()函數 返回型別:陣列(類的所有公共屬性)
功能:該函數將返回由類的預設公有屬性組成的關聯陣列,形式:varname=>value
get_class()函數 返回型別:字串
功能:該函數將會返回物件範例所屬類的名字
get_declared_classes()函數 返回型別:陣列
功能:該函數將會返回由當前指令碼中已定義類的名字組成的陣列。
get_object_vars()函數 返回型別:陣列
功能:該函數返回由物件屬性組成的關聯陣列。
get_parent_class()函數 返回型別:字串
功能:該函數返回物件或類的父類別名。
is_subclass_of()函數 返回型別:布林值
功能:判斷物件與類的關係
method_exists()函數 返回型別:布林值
功能:該函數檢查類的方法是否存在。
相關教學:PHP視訊教學
以上就是聊聊php物件導向的程式設計基礎(一)的詳細內容,更多請關注TW511.COM其它相關文章!