php實作多重繼承-trait語法
#自PHP 5.4.0起,PHP實作了一種程式碼復用的方法,稱為trait。
Trait是為類似PHP的單一繼承語言而準備的一種程式碼重複使用機制。 Trait為了減少單繼承語言的限制,使開發人員能夠自由地在不同層次結構內獨立的類別中重複使用method。 Trait 和 Class 組合的語意定義了一種減少複雜性的方式,避免傳統多繼承和 Mixin 類別相關典型問題。
Trait 和 Class 相似,但只是旨在以細粒度和一致的方式來組合功能。無法透過 trait 自身來實例化。它為傳統繼承增加了水平特性的組合;也就是說,應用的幾個 Class 之間不需要繼承。 (推薦學習:PHP影片教學)
從基底類別繼承的成員會被 trait 插入的成員所覆寫。優先順序是來自目前類別的成員覆寫了 trait 的方法,而 trait 則覆寫了被繼承的方法。
以下為程式碼:
trait traitTestOne{<br/> public function test(){<br/> echo "This is trait one <br/>";<br/> }<br/> public function testOne(){<br/> echo "one <br/>";<br/> }<br/>}<br/> <br/>trait traitTestTwo{<br/>// public function test(){<br/>// echo "This is trait two";<br/>// }<br/> public function testTwo(){<br/> echo "two <br/>";<br/> }<br/>}<br/> <br/>class basicTest{<br/> public function test(){<br/> echo "hello world\n";<br/> }<br/>}<br/>class myCode extends basicTest{<br/> use traitTestOne,traitTestTwo;<br/>}<br/> <br/>$test = new mycode();<br/>$test->test();<br/>$test->testOne();<br/>$test->testTwo();<br/>
輸出為:
This is trait one<br/>one<br/>two<br/>
以上是php怎麼實作多繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!