php trait原型

trait 为了减少单继承语言的限制,可以在不同层次结构内独立的类中复用类的方法集。

原型中方法同名

 trait A1{
   public function getInfo(){
       echo "这是traint A原型<br/>";
   }
 }
 trait B1{
   public function getInfo(){
       echo "床前明月光<br/>";
   }
 }
 //使用原型
 class Student2{
 	use A1,B1{
       /*
 	  //方法一:方法替换
 		//A1::getInfo insteadof B1;//将A1中的getInfo替换成B1中的getInfo
 		//B1::getInfo insteadof A1;//将B1中的getInfo替换成A1中的getInfo
      */

 	  //方法二:改名
 		A1::getInfo insteadof B1;
 		B1::getinfo as show;//将B1的getinfo改名为show,必须加上面替换语句,不然会出错
 	}//引入多个train,同时解决名称冲突
 }
 $stu3=new Student2;
 $stu3->getInfo();
 $stu3->show();

还可以修改方法权限

     trait A2{
     	private function show(){
     		echo "trait私有权限<br/>";
     	}
     }
     class Student3{
     	use A2{
     		//show as public;//将show方法权限设为public
     		show as public show2;//将show方法权限设为public 并改名为show2
     	}
     }
     $stu4=new Student3;
     //$stu4->show();
     $stu4->show2();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值