博主信息
博文 37
粉丝 0
评论 0
访问量 44310
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
接口和抽象类
手机用户1607314868
原创
860人浏览过

自己定义一个接口和抽象类,并实现它,对比接口与抽象类的区别与联系,并实例演示

static

static三种用途

  1. 类中静态成员
  2. 函数中的静态变量
  3. 后期静态绑定[延迟静态绑定]
    静态继承上下文
  1. class Test
  2. {
  3. public static function demo1():string
  4. {
  5. return '父类'.__METHOD__;
  6. }
  7. public static function demo2():string
  8. {
  9. //self 永远和父类绑定,不能动态的识别或设置静态成员的调用者
  10. // return self::demo1();
  11. //static 可以识别静态成员的调用者,子类重写了demo1则调用子类的demo1
  12. //使用static代替self 。static用在动态的执行阶段,self用在静态的编译阶段
  13. return static::demo1();
  14. }
  15. }
  16. //子类
  17. class Sub extends Test
  18. {
  19. //只要是父类中的public ,protected 声明的成员,子类都可以使用
  20. //子类中重写父类的静态方法
  21. public static function demo1():string
  22. {
  23. return '子类'.__METHOD__;
  24. }
  25. }
  26. //这就是静态继承上下文
  27. //子类可以调用父类的静态成员
  28. echo Sub::demo2();

接口

interface 声明,接口只允许声明两类成员:类常量,公共抽象方法(没有实现过程)。
接口使用必须创建一个实现类。
实现类必须将接口中声明的抽象方法全部实现。

  1. interface iGood
  2. {
  3. //类常量
  4. const DEMO='举例';
  5. //抽象方法
  6. public function demo1(...$test):string
  7. }
  8. //实现类实现接口
  9. class Good implements iGood
  10. {
  11. public function demo1(...$test):string
  12. {
  13. return print_r($test,true);
  14. }
  15. }
  16. $good=new Good();
  17. echo $good->demo1('你好!');

抽象类

抽象类必须通过它的子类才可以使用,子类必须将抽象类的抽象方法实现,实现类:实现了接口和抽象类的抽象方法的 工作类
abstract 声明抽象类
抽象类不一定有抽象方法,但有抽象方法的一定是抽象类。

  1. abstract class Model
  2. {
  3. //抽象方法
  4. abstract public function __construct();
  5. }
  6. class UserModel extends Model
  7. {
  8. public function __construct(){
  9. }
  10. }

注意:接口不是类。
抽象类可以有属性、普通方法、抽象方法,但接口不能有属性、普通方法、可以有常量.
抽象类内未必有抽象方法,但接口内一定会有“抽象”方法

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学