PHP父類列表(Parent List)
在PHP中,使用父類列表(Parent List)可以輕松地進(jìn)行面向?qū)ο蟮木幊獭8割惲斜砜梢栽陬惖穆暶髦惺褂茫糜谥付ó?dāng)前類的父類。聲明一個類的父類后,當(dāng)前類就可以繼承父類的所有屬性和方法,而且還可以添加自己的屬性和方法。
用法舉例
class Animal { public $name; public function sound() { echo "Animal sound\n"; } } class Cat extends Animal { public function sound() { echo "Meow\n"; } } $cat = new Cat(); $cat->name = "Tom"; echo $cat->name . " says "; $cat->sound();
上面的例子中,Animal是父類,Cat是子類。Cat繼承了Animal的name屬性和sound方法,并重寫了sound方法。新的Cat類可以使用Animal類中定義的所有屬性和方法。在創(chuàng)建Cat類的對象時,可以使用Animal類中的name屬性。
父類列表中的多個父類
class Dog { public function bark() { echo "Woof\n"; } } class Poodle extends Dog {} class Mutt extends Dog {} class Terrier extends Dog {} class Schnauzer extends Poodle {} class Dobie extends Mutt {} class Yorkie extends Terrier {} $dog = new Schnauzer(); $dog->bark();
上面的例子中,Dog是所有狗的父類。Poodle、Mutt和Terrier是Dog的子類。Schnauzer繼承了Poodle的所有屬性和方法,而Dobie和Yorkie分別繼承了Mutt和Terrier的所有屬性和方法。在創(chuàng)建Schnauzer類的對象時,它繼承了所有它的父類中定義的所有屬性和方法。
使用接口(interface)
interface Swimmable { public function swim(); } class Fish implements Swimmable { public function swim() { echo "Fish swim\n"; } } $fish = new Fish(); $fish->swim();
上面的例子中,Swimmable是一個接口,它定義了一個swim方法。Fish類實現(xiàn)了Swimmable接口,這意味著Fish類必須包含一個名為swim的方法。在創(chuàng)建Fish類的對象時,它可以使用Swimmable接口中定義的所有屬性和方法。
結(jié)論
PHP父類列表在面向?qū)ο缶幊讨惺欠浅S杏玫摹K梢杂糜诙x類的繼承關(guān)系,從而降低了代碼的復(fù)雜度。在聲明類時,可以使用父類列表來指定類的父類,這些父類中定義的所有屬性和方法都可以被子類繼承和使用。
下一篇php pchat