Blogger Information
Blog 47
fans 3
comment 0
visits 38118
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP接口与抽象类实例
Original
680 people have browsed it

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. ?>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments