Blogger Information
Blog 52
fans 0
comment 3
visits 42456
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php学习:第12章 trait 与接口,抽象类实战
王小飞
Original
614 people have browsed it

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;}
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
Author's latest blog post