物件導向的第二大特性:繼承
在php中,使用extends實現繼承
構造方法是用來初始化成員變數的,當我們例項化物件時,會自動執行構造方法。
當子類有自己的構造方法時,例項化子類的物件,就會執行子類的構造方法,不會執行父類的構造方法。
子類繼承父類時,子類沒有構造方法,例項化子類物件時,會執行父類的構造方法。子類如果有自己的構造方法,例項化子類物件時,只會自動執行子類自己的構造方法。
在子類的構造方法中,使用 parent::__construct($wheel); 主動呼叫父類的構造方法。
因為子類的構造方法有兩個引數,所以當我們例項化子類物件時,必須傳遞兩個引數。
public:公開的,在類的內部、外部,都可以訪問被public修飾的成員(屬性和方法)
private:私有,只能在類的內部可以訪問。
protected:受保護的
父類中被protected修飾的成員,只有在類內部以及繼承類中使用,類外部不能使用。
在父類controller中定義了兩個方法assign() 和 display() 方法,訪問修飾符都是protected,表示這兩個方法只有子類才能呼叫 。在子類indexcontroller的show() 方法,呼叫 父類的assign() 和 display() 方法。
多型:不同的物件對於同一行為表現出不同的形態。
abstract :表示抽象的,可以修飾類名,方法名
物件抽象類,有以下幾點 需要注意:
抽象方法沒有方法體,如:abstract protected function eat();
有抽象方法的類必須是抽象類
抽象類不能實現化,沒有自己的物件,即: $n = new animal() 是錯誤的。
抽象類都是父類,它下面有子類
子類繼承抽象類後,必須實現父類所有的抽象方法,即 tiger類必須有 eat() 方法的實現
子類重寫父類的方法,這就是多型
物件導向中的多型非常常見,大部分表現在繼承時,不同的子類對於同一行為表現各種各樣的形態。
子類重寫(覆蓋)父類的方法時,訪問修飾符的許可權應該 符合這一原則:子類方法的訪問許可權 高於 父類方法的訪問許可權。
《PHP物件導向》1 11課時內容總結
面向過程 優點 效能比物件導向高,因為類呼叫時需要例項化,開銷比較大,比較消耗資源,比如微控制器 嵌入式開發 linux unix等一般採用面向過程開發,效能是最重要的因素。缺點 沒有物件導向易維護 易復用 易擴充套件 物件導向 優點 易維護 易復用 易擴充套件,由於物件導向有封裝 繼承 多型性的特...
java 類與物件(第二課時)
第二課時 類與物件 綱要 1.掌握什麼是類,什麼是物件 2.學會類的定義並編寫類 3.通過類建立物件 4.物件作為方法引數 應用軟體 eclipse 一 生活中的類與物件 1.生活中的類 具有共同特徵的事物所形成的種類。物件 具體的某乙個人或物。例如 學生是乙個類,具體到某個學校某個年紀某個班某個學...
PHP 高階知識 物件導向
主要包含的內容 物件導向,設計模式,資料結構與演算法。物件導向和面向過程均為一種程式設計思想。面向過程 分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫即可。物件導向 把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描述某個事物在解決...