trait是為實現多重繼承產生,php5.4的新特性
使用方法如下:
<?phptrait Tool{functiongetName(){echo"tool name"; } }classHammerTool{useTool} $tempTool = newHammerTool();$tempTool->getName();//输出:tool name
優先權是,子類別覆寫trait,trait覆寫子類別繼承的父類別。
如果use幾個trait,且trait中有相同的方法可用insteadof或as方法來實現替換或重命名。
如:
<?phptrait A{functionsmallTalk(){echo"A smallTalk"; }functionbigTalk(){echo"A bigTalk"; } }trait B{functionsmallTalk(){echo"B smallTalk"; }functionbigTalk(){echo"B bigTalk"; }functionmiddleTalk(){echo"B middleTalk"; } }classTalker {useA, B {B::smallTalkinsteadofA;//用B的smallTalk替换A的方法。A::bigTalk insteadof B; B::middleTalk asprivate myPrivateHello;//重命名为B} }
版權聲明:本文為原創文章,轉載需註明出處,文章觀點只代表當時的看法,一定有不足,歡迎拍磚提醒,非常感謝!
以上介紹了php學習筆記--trait的使用(為實現多重繼承產生),包括了方面的內容,更多相關內容請關注PHP中文網(www.php.cn)!