php - trait初理解

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;

as语法还能用来修改trait的方法访问控制类型

trait里面也可以使用use来引用trait

trait还可以定义抽象方法进行对use他的类进行强制要求进行重写该方法

class引进trait后,php7.0以前不能创建和trait一样的属性名,之后可以创建访问度一样,名称一致,值一致的变量,不一致就会报致命错误

posted @ 2020-11-29 01:33  ReYiRFW  阅读(140)  评论(0编辑  收藏  举报