This article introduces the abstract classes of PHP, which has certain reference value. Now I share it with you. Friends in need can refer to it
/*
The role of abstract classes:
Use it as an interface, use it as a template
To achieve polymorphism, I was born to be a father
*/
// ===Code part 1===
// =Use abstract to write an aircraft manufacturing technique= //
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 */
// =Use rockets to solve engine problems= //
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();
/*
Summary:
Adding abstract before a class is an abstract class
Adding abstract before a method is an abstract method
Abstract classes cannot be instantiated
Abstract methods cannot have method bodies
If there is an abstract method, this class must be an abstract class
An abstract class may not have an abstract method
*/
// ===Code part 2===
// =Facebook multi-language welcome page= //
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();
/*
Other national languages will be added in the future,
Just add a new welcome class .
*/
Related recommendations:
The difference between abstract classes and interfaces in php
The above is the detailed content of PHP abstract class. For more information, please follow other related articles on the PHP Chinese website!