PHP中的抽象类和抽象方法

抽象类

在正常定义类前面加上关键字:abstract就成为了抽象类。抽象类无法被实例化,它可以用来规范一些类的共同特性,需要这些规范的类就继承这个抽象类。

abstract class A{
  
}

抽象方法

抽象方法是一个没有方法体(也不含大括号)的方法定义"头"而已。在正常定义普通方法的基础上,前面加上abstract。

abstract function f1($x1,$y,$m);

抽象方法细节注意:

  1. 抽象类的子类必须实现抽象类内全部的抽象方法。
  2. 配合抽象类实现对子类的规范,如果一个方法定义为抽象方法,这个类必须为抽象类,但类为抽象类,但类中不一定有抽象方法。

需求案例:

定义游戏中的"野怪"类,所有野怪都基于这个类。

abstract class guai{
  protected $blood = 100;//血量
  protected $distance = 30;//开始发起攻击的距离
  protected $function attack();//攻击行为
}
//定义一个蛇怪,基于野怪这个抽象类,攻击一次自身掉一滴血。
class snakeGuai extends guai{
  function attack{
    echo "吐火攻击";
    //自身减血
    $this->blood--;
  }
}
$o1 = new snakeGuai();
$o1->attack();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,250评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,943评论 0 62
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,030评论 0 2
  • 第一次见面的时候,彼此都觉得对方有些特别。有意无意间,他挑些不一样的经历告诉她: …… 那几年,才五、六岁,母亲又...
    扶摇风阅读 3,043评论 18 27
  • 死神背靠背(1)死神背靠背(2)死神背靠背(3)死神背靠背(4)死神背靠背(5)死神背靠背(6)死神背靠背(7)死...
    李一十八阅读 2,498评论 1 2

友情链接更多精彩内容