PHP中的traits之二(trait继承中的优先级)

来源:互联网 发布:电脑画设计图软件 编辑:程序博客网 时间:2024/05/21 06:19

       讲到trait,在此我不得不提一下trait中的优先级:

       在trait继承中,优先顺序依次是:来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法。

       For example: 

    class A{
    public function sayHello(){
    echo "A";
    }
    }
    
    trait B{
    public function sayHello(){
       parent::sayHello();
    echo "B";
    }
    }
    
    class C extends A{
    use B;
    }
    
    $c=new C();
    $c->sayHello();

   上述打印结果是:AB


    class A{
    public function sayHello(){
    echo "A";
    }
    }
    
    trait B{
    public function sayHello(){
       parent::sayHello();
    echo "B";
    }
    }
    
    class C extends A{
    use B;
    public function sayHello(){
    echo "C";
    }
    }
    
    $c=new C();
    $c->sayHello();

    此打印结果为:C


    

   

      

0 0
原创粉丝点击