首頁  >  文章  >  後端開發  >  PHP的抽象類別

PHP的抽象類別

不言
不言原創
2018-04-26 11:07:021563瀏覽

這篇文章介紹的內容是關於PHP的抽象類,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

#/*
抽象類別的作用:

當介面用,當模板用
實現多態,生來就是當爸爸的
*/


// ===程式碼部分1===

// =用abstract寫一個飛行器製造術= //

abstract class FlyIdea {    // 大力引擎
    public abstract function engine();    // 平衡舵
    public abstract function balance();

    /*
         注意:抽象方法中 不能有方法体
         下面这样写是错误的         public abstract function balance() {

         }
         报错如下:
         Fatal error: Abstract function FlyIdea::balance() cannot contain body
    */
}

/*
抽象类不能new 来实例化
$kongke = new FlyIdea();

报错如下:
Fatal error: Cannot instantiate abstract class FlyIdea
*/


#// =用火箭解決引擎問題= //

abstract class Rocket extends FlyIdea {

    public function engine() {
        echo &#39;点燃火药,失去平衡。<br >&#39;;
    }
}class Fly extends Rocket {
    public function engine() {
        echo &#39;用力一扔<br >&#39;;
    }    public function balance() {
        echo &#39;两个纸翼保持平衡~~~~~~&#39;;
    }    public function start() {
        $this->engine();        for($i=0;$i<10;$i++) {            $this->balance();            echo &#39;平稳飞行<br >&#39;;
        }
    }
}$apache = new Fly();$apache->start();

/*
總結:

類別前加  abstract 是抽象類別
方法前加abstract 是抽象方法

抽象類別不能實例化
抽象方法不能有方法論

有抽象方法,則此類必是抽象類別
抽象類,內未必有抽象方法
*/


// ===程式碼部分2===

// =Facebook 多國語言歡迎頁面= //

abstract class Welcome {
    public abstract function wel();}class china extends Welcome {
    public function wel() {
        echo &#39;你好,非死不可<br >&#39;;
    }
}class english extends Welcome {
    public function wel() {
        echo &#39;hi,welcome<br >&#39;;
    }
}class japan extends Welcome {
    public function wel() {
        echo &#39;搜达斯奈<br >&#39;;
    }
}$c = &#39;china&#39;; //english //japan$wel = new $c();$wel->wel();

/*
以後新增了其他國家語言,
只要新增一個新的welcome類別即可.
*/
PHP的抽象類別

相關推薦:

#php中抽象類別和介面的差異

#

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn