程序中,有些类的作用只是用来继承,无须实例化;
为了满足类的这种需求,php提供了抽象类的概念 ,关键词abstract;
抽象类原则:
- 抽象类不能被实例化
- 有抽象方法的类一定是抽象类;类必须要abstract修饰
- 抽象方法不能有函数体;即abstract function fun();
- 抽象类中的非抽象方法,可以被子类调用
- 非抽象子类继承抽象类,子类必须实现父类的所有抽象方法
- 抽象子类继承抽象类,无需继承父类的抽象方法
abstract class Animal{ ???public $name = ‘animal‘; ???// 有抽象方法的类一定是抽象类;类必须要abstract修饰 ???// 抽象方法不能有函数体 ???abstract function cry(); ???public function getName(){ ???????echo ‘我的名字‘; ???}}// new Animal(); ??// 报错,抽象类不能被实例化class Dog extends Animal { ???// 非抽象子类继承抽象类,子类必须实现父类的所有抽象方法 ???public function cry(){ ???}}$dog = new Dog();$dog->getName(); ???//抽象类中的非抽象方法可以调用abstract class Cat extends Animal{ ???// 抽象子类继承抽象类,无需继承父类的抽象方法}
php 抽象类abstract
原文地址:http://www.cnblogs.com/minigrasshopper/p/7753652.html