#由于php类只支持单一继承,但我们又需要使用一些类的优秀特性,因此有了trait

<?php
trait cpc #trait 下的方法只能用public
{
function trainning_hoaring()
{
echo "嗷儿喂~嗷儿喂~";
}
}
trait cj
{
function trainning_hoaring()
{
echo "诶~~嘿嘿~";
}
}
class me
{
use cpc,cj{ #use意味着使用 上面定义好的trait结构
cj::trainning_hoaring insteadof cpc; #由于cpc和cj中定义了相同的方法,因此如果选择其中的一个,就要动用表达式
# 使用的trait insteadof 未使用的trait
cj::trainning_hoaring as cjhoaring; #给trait cj trainning_hoaring特性起一个别名 cjhoaring
        cpc::trainning_hoaring as cpchoaring; #作用同上
   }
}
$cpc = new me(); $cpc->trainning_hoaring();
?>

输出结果:

诶~~嘿嘿~

05-14 21:21