《PHP的類和對象(七)Trait》要點:
本文介紹了PHP的類和對象(七)Trait,希望對您有用。如果有疑問,可以聯系我們。
自 PHP 5.4.0 起,PHP 實現了一種代碼復用的辦法,稱為 Trait.
因為PHP是單繼承,當你必要多個區別的特性,就不得不去組合多個基類,Trait出現后就避免了這些問題,Trait的優勢就是可以隨意組合,而且代碼清晰.
Trait不僅僅是可復用代碼段的聚攏,應該是一組描述了某個特性的
屬性與辦法的集合.優點再于隨意組合,耦合性低,可讀性高.
優先順序是當前類的辦法覆蓋了 trait 的辦法,而Trait 則覆蓋了被繼承的辦法.
通過逗號分隔,在 use 聲明列出多個 trait,可以都插入到一個類中.
如果引入的兩個Trait有同名的辦法,會產生沖突,可以使用insteadof操作符來指定使用沖突辦法的哪一個,也可以使用as將沖突辦法起一個別名.
使用 as 語法還可以用來調整方法的拜訪控制.但是不會改變原版方法的拜訪控制.
Trait也可以使用Trait,同時也像類一樣可以定義抽象辦法,屬性,靜態屬性,靜態辦法.不過如果Trait定義了一個屬性,使用Trait的類中就不能定義同名的屬性,也不能修改這個屬性.
其實Trait更像是辦法的集合,其內的屬性更像是為了其中的辦法服務的.
Traits不是類,不克不及被實例化.
Trait也相似于include和require導入文件.
維易PHP培訓學院每天發布《PHP的類和對象(七)Trait》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。