家族使命是一些家族矢志不渝的目標,在物件導向程式設計過程中,抽象類別Abstract便是這種家族使命,一日不完成目標便始終是抽象類別。抽象類別Abstract存在的目的,便是利用父類別來強制規範子類別必須完成要做的事情。
1.定義:
抽象類,使用abstract
關鍵字修飾的類,表示該類別只能被繼承,不能被實例化。
2.基本語法:
使用abstract
關鍵字修飾類別。
<?php abstract class People{} //$a=new People();//抽象类不能够被实例化会报错 class Man extends People{}//正确 ?>
使用abstract
關鍵字也可以用來修飾方法(抽象方法
),abstract
修飾的方法不能有方法體,而且有抽象方法的類別必須聲明為抽象類別。
<?php abstract class People{ public function show(){} //普通方法有方法体 abstract public function eat(); //定义抽象方法:没有方法体 // 两者的主要区别:{},修饰符(因为抽象方法要被实现, //所以不能为private) } ?>
子類別繼承抽象類別
後,如果抽象類別中有抽象方法,那麼子類別必須實作所有抽象方法
,若不實作所有抽象方法,則依舊為抽象類別
(直到實作所有方法,否則永遠為抽象類別
)。
abstract class People{ abstract public function eat(); public function show(){} //普通方法有方法体 } abstract class Man extends People{} //正常继承,(未实现抽象方法)抽象类继承抽象类 class Boy extends Man{ //子类实现父类所有抽象方法 //实现从祖父类继承的eat抽象方法 public function eat(){ echo 'eat'; } }
以上是愚公精神的延續-抽象類Abstract的詳細內容。更多資訊請關注PHP中文網其他相關文章!