php使用traits实现代码复用、多继承

PHP只能继承一个父类,php5.4后新增traits实现代码复用机制变向达到多继承
1、trait和类相似,但不能被实例化,无需继承,只需要在类中使用关键词use引入即可,可引入多个traits,用','隔开
2、trait会覆盖继承的方法,当前类会覆盖trait方法
<?php  
class People{  
    public function walk(){  
        echo "人类行走<br/>";  
    }  
    function say(){  
        echo "人类说话<br/>";  
    }  

trait Man{  
    public function eat(){  
        echo "男人吃饭<br/>";  
    }  
    function say(){  
        echo "男人说话<br/>";  
    }  
    function sing(){  
        echo "男人唱歌<br/>";  
    }  
}  
class Child extends People{  
    use Man;   
    function sing(){  
        echo "小孩唱歌<br/>";  
    }  
}  
$obj=new Child();  
$obj->walk();  
$obj->eat();  
$obj->say();  
$obj->sing(); 
/*  
结果:  
人类行走  
男人吃饭  
男人说话  
小孩唱歌  
*/  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值