PHP 面向物件 抽象類
阿新 • • 發佈:2022-04-29
使用 abstract
關鍵字申明抽象類和抽象方法。抽象類不能被例項化,只能被其他類繼承。
abstract class A { // 抽象方法沒有函式體,即具體實現 abstract protected function fun1(); abstract protected function fun2($num); // 普通方法,即非抽象方法 public function fun3() { echo __FUNCTION__; } } class B extends A { // 子類必須定義抽象類中的所有抽象方法 public function fun1() { echo __FUNCTION__; } // 子類方法的訪問控制,必須和抽象類中方法的訪問控制一致,或更為寬鬆 // 引數必須一致,但子類可以定義父類方法中不存在的可選引數 public function fun2($num, $num2='0') { echo $num; } } // 抽象類不能被例項化 $b=new B(); $b->fun2(1);