PHP基礎知識:面向對象的編程
阿新 • • 發佈:2018-05-08
PHP1.類的定義
- class關鍵字+類名+{},大括號內定義變量和方法。
- 類的變量使用 var 來聲明, 也可以初始化值。
- 類創建後可以使用 new 運算符來實例化該類的對象。
- 註:變量 $this 代表自身的對象。
2.成員函數
- 構造函數:用來在創建對象時初始化對象, 即為對象成員變量賦初始值,在創建對象的語句中與 new 運算符一起使用。
void construct ([ mixed $args [, $... ]] )
- 析構函數:當對象結束其生命周期時(例如對象所在的函數已調用完畢),系統自動執行析構函數。
void destruct ( void )
3.繼承
- PHP 使用關鍵字 extends
Class A extends B{} //A類繼承了B類 - PHP 不會在子類的構造方法中自動的調用父類的構造方法。要執行父類的構造方法,需要在子類的構造方法中調用 parent::construct() 。
- 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋,也稱為方法的重寫。
4.訪問控制
- PHP 對屬性或方法的訪問控制,是通過在前面添加關鍵字 public(公有),protected(受保護)或 private(私有)來實現的。
- 類屬性必須定義為公有,受保護,私有之一。如果用 var 定義,則被視為公有。
- 類中的方法可以被定義為公有,私有或受保護。如果沒有設置這些關鍵字,則該方法默認為公有。
5.接口
- 指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。
- 接口通過interface關鍵字來定義,定義的方法必須為公有。
Interface A{} * //聲明一個A接口*
- 要實現一個接口,使用 implements 操作符。類中必須實現接口中定義的所有方法,否則會報一個致命錯誤。類可以實現多個接口,用逗號來分隔多個接口的名稱。
class B implements A,C //實現A,C接口
PHP基礎知識:面向對象的編程