抽象類別:一個類別中至少有一個方法是抽象的,我們稱之為抽象類別。
要求:
1、一個類別中至少有一個抽象方法
2、抽象方法不允許有{}
3、抽象方法前面必須加abstract
例:類別前面加abstract
<?php abstract class Human { public abstract function getInfo () { echo '我是getInfo'; } } ?>
定義了一個Human的抽象類,抽象類別中有個抽象方法,執行發現報錯
Fatal error: Abstract function Human::getInfo() cannot contain body
抽象方法不能有正文部分(沒有方法體),需要去掉花括號
<?php abstract class Human { public abstract function getUserInfo (); public abstract function getWalletInfo (); } class Student extends Human { public function getUserInfo () { echo 'getinfo'; } public function getWalletInfo () { echo 'getwalletInfo'; } } $Tom = new Student(); $Tom -> getUserInfo(); $Tom -> getWalletInfo (); ?>
注意:
1、抽象類別不能被實例化,只能被繼承。
2、繼承的衍生類別當中要把所有抽象方法重載才能實例化
abstract class Human { public abstract function getUserInfo (); public abstract function getWalletInfo (); } class Student extends Human { public function getUserInfo () { echo 'getinfo'; } // public function getWalletInfo () { // echo 'getwalletInfo'; // } } $Tom = new Student();
例如此時派生類別少寫了一個getWalletInfo() 方法,就導致new 失敗
抽象類別的意義:衍生類別繼承抽象類別的時候,必須要用抽象類別的命名規則去建立方法,否則不允許衍生類別實例化,其實是申明了一種規範,達到規範方法的目的。
想了解更多相關內容請造訪php中文網:PHP影片教學
#以上是php中的抽象類別是什麼?怎麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!