php性状(trait)的使用

前端之家收集整理的这篇文章主要介绍了php性状(trait)的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP中trait的使用

以我的理解,性状是为了满足两个无关类拥有部分相同功能属性的模块化类,其类型也是PHP5.5中新增的trait。比如蝙蝠和天鹅,二者都有翅膀,都能飞,然而绝不是继承于同一个父级关系,这时候便可以看做拥有相同性状的不同类。

首先定义一个飞的性状

trait flyTrait{
    public function fly($desination){
        goto $desination;
    }
}

天鹅拥有这个形状

class swan extends bird{
    use flyTrait;
    //孵蛋
    public function incubate(){
    }
    //筑巢
    public function buildNest(){
    }
}

蝙蝠也拥有这个形状

class bat extends mammal{
    use flyTrait;
    //出生
    public function birth(){
    }
    //哺乳
    public function suckle(){
    }

}

各自飞翔

$swan = new swan();
$swan->fly("swan lake");

$bat = new bat();
$bat->fly("ban cave");

通过性状的使用可以将无关的类联系起来,使其使用相同的代码段。在无法多继承的情况下,使用trait也是一个不错的选择。

猜你在找的程序笔记相关文章