trait自从5.4起,用来解决类似php这种只允许单继承的不足的类似语言,可以避免了多继承和Mixin类的高耦合问题
表示特征的意思
在一个class中使用use来引入trait
方法的等级排序:class类的方法 > trait的方法 > 大于继承的方法
同一个类中trait允许引入多个
可是这样就会出现多个trait出现相同名称的方法,会报致命错误
1.这个时候就可以使用insteadof来
B::smallTalk insteadof A;
上面那个就是说使用B的方法
2.或者使用as来给不同的trait方法变量起别名
B::bigTalk as talk;