Class类的抽象实现,也属于父子类中的一种,
    抽象是介于基础类和接口类的一个升级版,
    接口类中父类不能具体化成员函数内容,只能定义一些函数框架,然后让子类去实现。
    而基础类中,父类不能强迫子类一定要重写某些成员函数。
    而抽象类就是为了解决这两种情况,并将其融合在了一起,
    同样的,被声明为抽象类的Class,不能直接被new实例化,而是需要使用extends关键字创建对应的子类。
    其语法格式如下:

    1. abstract class 抽象类名 {
    2. abstract 控制权限 修饰符 function 方法名();
    3. 控制权限 修饰符 function 方法名() {}
    4. }

    当我们class基础类中,只要有一个成员函数使用了abstract关键字,该类就表示为抽象类,同时class关键字前面也需要加上abstract关键字。
    具体案例代码如下:

    <?php
    # 抽象父类
    abstract class Test {
        # 要求子类必须实现这些方法
        abstract public function Get();
        abstract public function Post($str);
        # 普通方法(非抽象方法)
        public function Dump() { echo '不强迫子类重写'; }
    }
    # 子类
    class Demo extends Test {
        # 具体化父抽象强迫实现的方法
        public function Get() { echo '粑粑我实现了'; }
        public function Post($str) { echo '粑粑我实现了'; }
    }
    # Demo
    $obj = new Demo();