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...