博主信息
博文 26
粉丝 0
评论 0
访问量 25655
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
接口与trait的基础
雪~人胖胖
原创
916人浏览过

接口

  1. //多接口继承
  2. interface iComputer1
  3. {
  4. public function version();
  5. }
  6. interface iComputer2
  7. {
  8. const str1 = '运行win7';
  9. }
  10. interface iComputer extends iComputer1,iComputer2
  11. {
  12. public function work();
  13. }
  14. //抽象类不用全部实现接口方法
  15. abstract class Note1 implements iComputer
  16. {
  17. public function version()
  18. {
  19. echo '笔记本';
  20. }
  21. }
  22. class Note extends Note1
  23. {
  24. public function work(){
  25. echo self::str1;
  26. }
  27. }
  28. //普通类必须全部实现接口方法
  29. class Desk implements iComputer
  30. {
  31. public function version(){
  32. echo '台式机';
  33. }
  34. public function work()
  35. {
  36. echo '运行win10';
  37. }
  38. }
  39. class Run
  40. {
  41. public static function sec($type)
  42. {
  43. $type->version();
  44. $type->work();
  45. }
  46. }
  47. $note = new Note();
  48. $desk = new Desk();
  49. $run = Run::sec($note);

效果图

Trait

  1. <?php
  2. //trait:与抽象类,接口一样不能实例化,只能嵌入到宿主类中使用
  3. //trait是一个特殊类:1:常规或静态属性方法2:抽象属性方法 但是不能用类常量
  4. trait tDemo
  5. {
  6. public static $name = '张三';
  7. public static $sex = '男';
  8. public $age;
  9. public static function getName()
  10. {
  11. echo self::$name;
  12. }
  13. }
  14. class Dad
  15. {
  16. public static $name1 = 'Tom';
  17. public static function getName()
  18. {
  19. echo self::$name1;
  20. }
  21. }
  22. //属性不能重名 否则报错
  23. //能实现代码的复用
  24. //子类中use trait 当继承的父类方法重名时 trait的优先级大于父类
  25. //优先级顺序 子类>trait>父类
  26. class Son extends Dad
  27. {
  28. use tDemo;
  29. }
  30. Son::getName();
  31. echo Son::$sex;

图例

总结

有点难,脑子不够用,只能想点简单的例子,需要多看看视频消化一下

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

批改状态:合格

老师批语:其实这些案例看是简单的了, 还是要多动脑动手呀
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学