PHP 抽象方法與抽象類 abstract 關鍵字
abstract 關鍵字用於定義抽象方法與抽象類。
抽象方法
抽象方法指沒有方法體的方法,具體就是在方法聲明的時候沒有 {} 括弧以及其中的內容,而是直接在聲明時在方法名後加上分號結束。
abstract 關鍵字用於定義抽象方法,語法:
abstract function function_name();
抽象類
只要一個類裡面有一個方法是抽象方法,那麼這個類就要定義為抽象類。抽象類同樣用 abstract 關鍵字來定義。
抽象類不能產生實例對象,通常是將抽象方法做為子類方法重載的模板使用的,且要把繼承的抽象類裡的方法都實現。實際上抽象類是方便繼承而引入的。
例子:
復制代碼 代碼如下:
<?php
abstract class AbstractClass{
// 定義抽象方法
abstract protected function getValue();
// 普通方法
public function printOut(){
print $this->getValue()."<br />";
}
}
class ConcreteClass extends AbstractClass{
protected function getValue(){
return "抽象方法的實現";
}
}
$class1 = new ConcreteClass;
$class1->printOut();
?>
在這個例子中,父類定義了抽象方法以及對於方法的實現,但實際的內容卻在子類裡定義。