PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

博客列表 > PHP接口与抽象类实例

PHP接口与抽象类实例

吳
原创
2021年02月05日 04:38:53 639浏览

1.接口类

接口中只允许声明二类成员:类常量、公共抽象方法,接口中不能写属性,方法必须是public,可以写常量
使用接口必须创建一个实现类,在实现类中必须将接口中声明的抽象方法全部实现
一个类可以实现多个接口,中间用逗号隔开,实现了PHP的单继承限制

  1. <?php
  2. // 定义一个接口
  3. // 声明
  4. interface Demo
  5. {
  6. // 接口常量
  7. const APP_TITLE = '小程序';
  8. // 公共抽象方法,没有实现过程
  9. public static function a1(...$args):string;
  10. // 构造方法
  11. public function __constract(...$args);
  12. }
  13. // 实现类
  14. class Demo1 implements Demo
  15. {
  16. // 将接口中的抽象方法实现
  17. public static function a1(...$args):string
  18. {
  19. return print_r($args,true);
  20. }
  21. // 构造方法
  22. public function __constract(...$args)
  23. {
  24. return new static;
  25. }
  26. }
  27. $obj = new Demo1();
  28. echo Demo1::APP_TITLE,'<br>';
  29. ?>

2.抽象类

抽象类不能实例化对象、抽象类的存在就是为了让子类继承
抽象类里的抽象方法必须由子类实现,且抽象类必须通过它的子类才可以使用

  1. <?php
  2. // 抽象类
  3. abstract class Model
  4. {
  5. public function find()
  6. {
  7. }
  8. public function init()
  9. {
  10. }
  11. // 抽象方法
  12. abstract public function __construct();
  13. abstract public function show();
  14. }
  15. // 抽象类必须通过它的子类才可以使用
  16. class MobileModel extends Model
  17. {
  18. // 子类必须将抽象类的抽象方法实现了
  19. public function __construct()
  20. {
  21. }
  22. public function show()
  23. {
  24. return 'Hello,World!';
  25. }
  26. }
  27. $mb = new MobileModel();
  28. echo $mb->show();
  29. ?>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议