PHP 抽象方法與抽象類abstract關(guān)鍵字介紹及應(yīng)用

字號(hào):


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