首頁  >  文章  >  後端開發  >  php中的抽象類別是什麼?怎麼用?

php中的抽象類別是什麼?怎麼用?

王林
王林轉載
2019-09-05 15:00:273330瀏覽

php中的抽象類別是什麼?怎麼用?

抽象類別:一個類別中至少有一個方法是抽象的,我們稱之為抽象類別。

要求

1、一個類別中至少有一個抽象方法

2、抽象方法不允許有{}

3、抽象方法前面必須加abstract

例:類別前面加abstract

<?php 
    abstract class Human {
        public abstract function getInfo () {
            echo &#39;我是getInfo&#39;;
        }
    }
?>

定義了一個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 &#39;getinfo&#39;;
        }
        
        public function getWalletInfo () {
            echo &#39;getwalletInfo&#39;;
        }
    }
    
    $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 &#39;getinfo&#39;;
    }
    
    // public function getWalletInfo () {
    //     echo &#39;getwalletInfo&#39;;
    // }
}

$Tom = new Student();

例如此時派生類別少寫了一個getWalletInfo() 方法,就導致new 失敗

抽象類別的意義:衍生類別繼承抽象類別的時候,必須要用抽象類別的命名規則去建立方法,否則不允許衍生類別實例化,其實是申明了一種規範,達到規範方法的目的。

想了解更多相關內容請造訪php中文網:PHP影片教學

#

以上是php中的抽象類別是什麼?怎麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除