PHP中的抽象类与抽象方法
1.定义
① 抽象类:
任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。
定义为抽象的类不能被实例化。抽象类必须有abstract关键字修饰。
例子:
abstract class Person{}
②抽象方法:
使用abstract关键字修饰的类就是抽象类。抽象方法没有具有的方法体
例子:
abstract function say();
抽象类的注意事项:
① 抽象类可以包含非抽象方法;
② 包含抽放方法的类。必须是抽象类;
抽象类,并不一定必须包含抽象方法;
③ 抽象类,不能实例化;
(抽象类中可能包含抽象方法,抽象方法没有方法体,实例化调用没有意义)
抽象类的作用:
① 限制实例化。(抽象类是一个不完整的类,里面的抽象方法没有方法体,所以不能实例化)
② 抽象类为子类的继承提供一种规范。子类继承一个抽象类,则必须包含并且实现抽象类中已定的抽象方法。
注意:子类继承抽象类,那么子类必须重写父类的所有抽象方法,除非子类也是抽象类!