php 抽象類的使用

2022-08-30 17:27:14 字數 655 閱讀 9821

抽象類也是物件導向中的重要概念,和介面、繼承的概念重要性相當,在物件導向的開發中,所有的物件都是通過類來描述的,但是反過來,

並不是所有類都是用來描繪物件的,廣義上講如果乙個類中沒有足夠資訊來描述乙個具體的物件,這樣的類就是抽象類。具體用簡單的**來實現:

從**可以簡單的看出,抽象類定義前面以abstract關鍵字開始,裡面可以定義多個方法,可以具體實現,也可以定義為抽象方法,沒有實現的方法需要設定為抽象方法,

需要在最前面加abstract關鍵字,抽象方法需要在子類中實現,而普通方法子類可以不用重寫,物件可以直接使用。

上面**中,human類和animal類都繼承了acaneat抽象類,通過各自不同的方法實現了eat,但是兩個類繼承了相同的方法breath,這個屬性可以認為是相同的,

無論例項化哪個物件都可以使用相同的breath方法

所以,抽象類其實就是介於普通類和介面之間的乙個類,普通類需要實現所有方法,介面所有方法都不需要實現,而抽象類可以根據自己的需要去選擇實現部分方法;

但是一旦類裡面有抽象方法,這個類就必須是抽象類,另外注意,抽象類跟介面一樣,不能直接例項化為物件,只能被普通類繼承,其實抽象類同樣體現了物件導向的多型現象

PHP 抽象類的使用

抽象類就是乙個模版 abstract class db 引數 sql語句 返回值 索引的陣列 abstract public function test str 沒有方法體 引數 sql語句 返回值 索引的陣列 abstract public function test2 str 沒有方法體 引數 ...

PHP 物件導向 抽象類繼承抽象類

抽象類繼承另外乙個抽象類時,不用重寫其中的抽象方法。抽象類中,不能重寫抽象父類的抽象方法。這樣的用法,可以理解為對抽象類的擴充套件。下面的例子,演示了乙個抽象類繼承自另外乙個抽象類時,不需要重寫其中的抽象方法。abstract class user abstract class vipuser ex...

PHP 物件導向 抽象類繼承抽象類

抽象類繼承另外乙個抽象類時,不用重寫其中的抽象方法。抽象類中,不能重寫抽象父類的抽象方法。這樣的用法,可以理解為對抽象類的擴充套件。下面的例子,演示了乙個抽象類繼承自另外乙個抽象類時,不需要重寫其中的抽象方法。abstract class user abstract class vipuser ex...