PHP面向对象之多继承

<?php
//trait定义的特殊类可以实现多继承;但trait不是类,不能被实例化,只能做父类被继承
// 多继承的优先级为子类方法的重写最优先,
//继承trait的类比extends继承的类优先
// 父类同名可以取别名

trait Bo
{
    public function index()
    {
        echo '菠萝赛东!';
    }
}

trait Npc
{
    public function index()
    {
        echo 'Npcccccccc!';
    }

    public function make()
    {
        echo __METHOD__;
    }
}

class Ww
{
    public function index()
    {
        echo '弯弯弯弯弯!';
    }
}

//子类继承父类

class Nb extends Ww
{
    //继承使用use;如果存在冲突可以使用取别名或者是指定使用哪一个方法, insteadof
    use Bo, Npc {
        //指定使用那个类的方法,这是是使用Npc类的index方法代替Bo类
        Npc::index insteadof Bo;

        //给Bo类的index方法加别名
        Bo::index as index2;
    }




    // public function index()
    // {
    //     echo 'Nbbbbbb!';
    // }
}

//实例化子类
$obj = new Nb;

$obj->index();

$obj->make();

$obj->index2();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值