1. 程式人生 > >PHP基礎知識:面向對象的編程

PHP基礎知識:面向對象的編程

PHP

1.類的定義

  • 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基礎知識:面向對象的編程