這篇文章介紹的內容是關於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 '点燃火药,失去平衡。<br >'; } }class Fly extends Rocket { public function engine() { echo '用力一扔<br >'; } public function balance() { echo '两个纸翼保持平衡~~~~~~'; } public function start() { $this->engine(); for($i=0;$i<10;$i++) { $this->balance(); echo '平稳飞行<br >'; } } }$apache = new Fly();$apache->start();
/*
總結:
類別前加 abstract 是抽象類別
方法前加abstract 是抽象方法
抽象類別不能實例化
抽象方法不能有方法論
有抽象方法,則此類必是抽象類別
抽象類,內未必有抽象方法
*/
// ===程式碼部分2===
// =Facebook 多國語言歡迎頁面= //
abstract class Welcome { public abstract function wel();}class china extends Welcome { public function wel() { echo '你好,非死不可<br >'; } }class english extends Welcome { public function wel() { echo 'hi,welcome<br >'; } }class japan extends Welcome { public function wel() { echo '搜达斯奈<br >'; } }$c = 'china'; //english //japan$wel = new $c();$wel->wel();
/*
以後新增了其他國家語言,
只要新增一個新的welcome類別即可.
*/
相關推薦:
以上是PHP的抽象類別的詳細內容。更多資訊請關注PHP中文網其他相關文章!