批改状态:合格
老师批语:希望看到不一样的案例
trait tDemo1{public function display(){//__TRAIT__获取当前类名称 __METHOD__获取当前方法名称return __TRAIT__ . ' => ' . __METHOD__;}}trait tDemo2{public function display(){//__TRAIT__获取当前类名称 __METHOD__获取当前方法名称return __TRAIT__ . ' => ' . __METHOD__;}}trait tDemo{//继承了tDemo1与tDemo2use tDemo1, tDemo2 {// 1. 第一个办法:使用insteadOf将tDemo1里面的方法被tDemo2替代掉tDemo1::display insteadOf tDemo2;// 2. 第二个办法:别名 给重名的方法换名字 下面是将tDemo2里面的重名的方法换成td2tDemo2::display as td2;}}//在trait中改变trait成中的访问控制//修改trait成员的访问控制 protected为修改后属性 td1为修改后名称//属性修改为受保护 不能再客户端调用,但是可以在类中调用//以下是将tDemo1里面的方法display属性修啊改为protected 名称修改为td1//在trait中改变trait成中的访问控制use tDemo1 {display as protected td1;}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号