什么是抽象方法?

在类里面定义的没有方法体的方法就是抽象方法,在方法声明的时候没有大括号以及其中的内容,另外在声明抽象方法的时候,还要加上关键字abstract来修饰。

例如:

abstract function fun1();

abstract function fun2();

 

只要类中有一个抽象方法,那么这个类就要定义为抽象类。

抽象类也要用abstract来修饰。

抽象类中可以有不是抽象的方法和成员属性。
但只要有一个抽象方法,这个类就必须定义为抽象类。

 

抽象类怎么用呢?最重要的一点是抽象类,不能产生实例对象!

定义抽象类就相当于定义了一种规范!这这种规范要求子类去遵守!子类继承了抽象类之后,把抽象类中的抽象方法按照子类的需要去实现。

子类必须把抽象类中的抽象方法全部实现,否则子类中还是存在抽象方法,子类还是抽象类,还是不能实例化!

 

<?
abstract class Demo{

var $test;
abstract function fun1();
abstract function fun2();
function fun3(){
        ...
    }

}


class Test extends Demo{
function fun1(){
     ...
}
function fun2(){
     ...
}
}

$test = new Test();
?>