批改状态:合格
老师批语:一二阶段作业,请在6月10日前完成
1.1指定默认执行(替代方式)
1.2给不同的组件方法起别名
// 组件1trait t1{public function tfun(){return __TRAIT__ . ' 组件中的方法 ' . __METHOD__;}}// 组件2trait t2{public function tfun(){return __TRAIT__ . ' 组件中的方法 ' . __METHOD__;}}// 组件3(引入组件1和组件2)// 利用指定默认执行方法和别名的方式解决命名冲突trait t3{use t1, t2 {// 1. 替代(指定默认执行t1组件中的tfun方法,也可理解为用t1组件中的方法替代t2组件中的同名方法)t1::tfun insteadOf t2;// 2. 别名t2::tfun as td2;}}class jobClass{use t3;}$job=new jobClass;echo $job->tfun(),'<hr>';echo $job->td2(),'<hr>';

用as关键字修改trait方法的访问控制
trait t4{// as: 还可以修改trait成员的访问控制use t1 {tfun as private td1;}}class jobClass{use t4;}$job=new jobClass;// echo $job->td1(),'<hr>';

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