4.10Trait特性技术详解

<?php
//tarait 代码复用
//tarait 工作在继承的上下文环境中,它是位于父类与子类之间的
//tarait 的优先级是高于父类 低于子类
//tarait 命名冲突的解决方法 替换或  别名

trait Func1
{
     //驾驶
    public function drive()
    {
        return '支持无人驾驶';
    }
    public function ct()
    {
        return '命名1';
    }
}
trait Func2
{
    public function ct()
    {
        return '命名2';
    }
}
class Auto
{
    public $brand;//品牌
    public $purpose;//用途

    //构造器
    public function __construct($brand,$purpose)
    {
        $this->brand = $brand;
        $this->purpose=$purpose;
    }
    //保养
    public function  care()
    {
        return '保养汽车';
    }
}
//定义一个子类
class Bus extends Auto
{
    //子类Bus 除了可以继承Bus中的成员 还可以导入 trait类中的方法
//   use Func1;
   use Func1,Func2
   {
       Func1::ct insteadof Func2;
       Func2::ct as ctt;
   }
   //定义一个care方法  将覆盖原来父类的方法
    public function care()
    {
        return '保养维修汽车';
    }
}
//实例化子类
$bus = new Bus('比亚迪','公交车');
echo $bus->brand,'</br>';
echo $bus->purpose,'</br>';
echo $bus->drive(),'</br>';
echo $bus->ctt();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值