【PHP】面向对象 - abstract关键字

小破孩
2022-06-19 / 0 评论 / 114 阅读 / 正在检测是否收录...

abstract用于定义抽象方法和抽象类。

抽象方法:
抽象方法指没有方法体的方法,在方法声明事没有{}括弧以及其中的内容,而是直接在声明了方法后加上分号结束。
abstract function function_name();

抽象类:
只要一个类中有一个方法是抽象方法,那么这个类就要定义为抽象类,抽象类同样用abstract关键字来定义。
抽象类不能产生实例对象,通常是将抽象方法作为子类方法重载的模板使用,且要把继承的抽象类里的方法都实现。抽象类是方便继承而引入的。

   <?
    abstract class Demo{
        var $test;
    
        abstract function fun1();
        abstract function fun2();
    
        function fun3() {
            ...
        }
    }
    
    $demo=new Demo(); //抽象类不能产生实例对象,所以这样做是错的,实例化对象交给子类
    
    class Test extends Demo{
        function fun1() {
            ...
        }
    
        function fun2() {
            ...
        }
    }
    
    $test = new Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法
    ?>
0

评论 (0)

取消