Home  >  Article  >  Backend Development  >  PHP abstract class

PHP abstract class

不言
不言Original
2018-04-26 11:07:021478browse

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 '点燃火药,失去平衡。
'; } }class Fly extends Rocket { public function engine() { echo '用力一扔
'; } public function balance() { echo '两个纸翼保持平衡~~~~~~'; } public function start() { $this->engine(); for($i=0;$i<10;$i++) { $this->balance(); echo '平稳飞行
'; } } }$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 '你好,非死不可
'; } }class english extends Welcome { public function wel() { echo 'hi,welcome
'; } }class japan extends Welcome { public function wel() { echo '搜达斯奈
'; } }$c = 'china'; //english //japan$wel = new $c();$wel->wel();

/*
Other national languages ​​will be added in the future,
Just add a new welcome class .
*/
PHP abstract 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn