php抽象類的基礎介紹

2021-10-04 20:17:03 字數 1259 閱讀 4124

php 5 支援抽象類和抽象方法。定義為抽象的類不能被例項化。任何乙個類,如果它裡面至少有乙個方法是被宣告為抽象的,那麼這個類就必須被宣告為抽象的。被定義為抽象的方法只是宣告了其呼叫方式(引數),不能定義其具體的功能實現。

繼承乙個抽象類的時候,子類必須定義父類中的所有抽象方法;另外,這些方法的訪問控制必須和父類中一樣(或者更為寬鬆)。例如某個抽象方法被宣告為受保護的,那麼子類中實現的方法就應該宣告為受保護的或者公有的,而不能定義為私有的。此外方法的呼叫方式必須匹配,即型別和所需引數數量必須一致。例如,子類定義了乙個可選引數,而父類抽象方法的宣告裡沒有,則兩者的宣告並無衝突。 這也適用於 php 5.4 起的建構函式。在 php 5.4 之前的建構函式宣告可以不一樣的。

example #1 抽象類示例

getvalue()

."\n";}

}class

concreteclass1

extends

abstractclass

public

function

prefixvalue

($prefix

)concreteclass1";}

}class

concreteclass2

extends

abstractclass

public

function

prefixvalue

($prefix

)concreteclass2";}

}$class1

=new

concreteclass1

;$class1

->

printout()

;echo

$class1

->

prefixvalue

('foo_').

"\n"

;$class2

=new

concreteclass2

;$class2

->

printout()

;echo

$class2

->

prefixvalue

('foo_').

"\n"

;?>

以上例程會輸出:

concreteclass1

foo_concreteclass1

concreteclass2

foo_concreteclass2

PHP抽象類 介紹

在自然語言中,我們理解抽象的概念是,乙個物體的一種大的描述,這種描述對某類物體來說是共有的特性。那麼在php中也是一樣的,我們把乙個類進行抽象,可以指明類的一般行為,這個類應該是乙個模板,它指示它的子方法必須要實現的一些行為。php抽象類應用的定義 abstract class classname ...

php基礎 31 抽象類 介面的介紹

抽象類 在實際開發中,我們可能有這樣一種類,是其他類的父類,但是它本身並不需要例項化,主要用途是用於讓子類來繼承,這樣可以達到 復用,同時利於專案經理 架構師 專案設計者來設計類,該類用abstract關鍵字來修飾,我們稱之為抽象類,同理用abstract來修飾的方法,稱之為抽象方法。基本語法 ab...

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

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