定义 : 使用abstract关键系修饰的类,表示该类只能被继承**,不能被实例化**

    • 抽象类只是用来规范下属的基本结构,本身不可被实例化,抽象类只能被继承
    • 抽象类可以被抽象类继承
    • abstract可以修饰抽象方法,抽象方法没有实体
    • 继承了抽象类的实体类必须定义抽象类的抽象方法
    • 抽象类中还可以有实体类该有的任何成员
      1. <?php
      2. abstract class Coder{
      3. // 可以定义普通属性和普通方法
      4. public $name="php";
      5. public function work()
      6. {
      7. return "一个勤苦劳作的码农<br>";
      8. }
      9. // 还可以定义 抽象方法
      10. // 抽象方法前面设置关键词 abstract
      11. abstract public function code($name);
      12. }
      13. // 规则单继承
      14. class PHPCoder extends Coder{
      15. // 类继承了抽象类 可以合法的使用抽象类中的普通方法和属性
      16. // 必须实现抽象类中的抽象方法
      17. public function code($name)
      18. {
      19. return "我是{$this->name}程序员,我在写{$name}<br>";
      20. }
      21. }
      22. // 继承理论上来说可以无限多次
      23. $zhang=new PHPCoder();
      24. echo $zhang->work(); // 继承抽象类中的普通方法
      25. echo $zhang->code("商城项目");