博主信息
博文 52
粉丝 0
评论 3
访问量 54197
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php学习:第12章 trait 与接口,抽象类实战
王小飞
原创
802人浏览过

Trait组合同名命名冲突解决方法

  1. trait tDemo1
  2. {
  3. public function display()
  4. {
  5. //__TRAIT__获取当前类名称 __METHOD__获取当前方法名称
  6. return __TRAIT__ . ' => ' . __METHOD__;
  7. }
  8. }
  9. trait tDemo2
  10. {
  11. public function display()
  12. {
  13. //__TRAIT__获取当前类名称 __METHOD__获取当前方法名称
  14. return __TRAIT__ . ' => ' . __METHOD__;
  15. }
  16. }
  17. trait tDemo
  18. {
  19. //继承了tDemo1与tDemo2
  20. use tDemo1, tDemo2 {
  21. // 1. 第一个办法:使用insteadOf将tDemo1里面的方法被tDemo2替代掉
  22. tDemo1::display insteadOf tDemo2;
  23. // 2. 第二个办法:别名 给重名的方法换名字 下面是将tDemo2里面的重名的方法换成td2
  24. tDemo2::display as td2;
  25. }
  26. }
  27. //在trait中改变trait成中的访问控制
  28. //修改trait成员的访问控制 protected为修改后属性 td1为修改后名称
  29. //属性修改为受保护 不能再客户端调用,但是可以在类中调用
  30. //以下是将tDemo1里面的方法display属性修啊改为protected 名称修改为td1
  31. //在trait中改变trait成中的访问控制
  32. use tDemo1 {display as protected td1;}
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:希望看到不一样的案例
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学