php使用 Trait 实现多继承

php使用 Trait 实现多继承

  1. 通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化
  2. Trait中的方法会覆盖 父类中的同名方法,而本类会覆盖Trait中同名方法(优先级当前类>trait父类)
  3. Trait中的属性跟当前类不能相同有的属性名,(属性名跟属性值一样除外,父类private属性除外)
  4. 当不同的trait中,却有着同名的方法或属性,会产生冲突,可以使用insteadof或 as进行解决, insteadof 是进行替代,而as是给它取别名 例如: 用Trait1中的eat方法替代Trait2中的eat方法
class cat{
        use trait1,trait2{
            trait1::eat insteadof trait2;
        } } 
  1. Trait也可以互相组合,还可以使用抽象方法,静态属性,静态方法等(抽象方法必须被实现)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值