什么是Trait特性?
Trait是PHP 5.4中引入的新概念,這消除了PHP中多重繼承的限制。在PHP 5.4之前,PHP支持單繼承和多接口,但Trait將消除沒有多重繼承的限制?!疽曨l教程推薦:PHP教程】
Traits是一種在單繼承語言(如PHP)中重用代碼的機制。它的主要概念是代碼的可重用性。對于只支持PHP等單一繼承的in語言,Trait特性似乎非常有用。因此,使用Trait特性的主要原因是獲得多重繼承的好處,或者代碼可重用性。
使用Trait特性實現多重繼承
1、使用類和Trait特性
基本句式:
html' target='_blank'>class child_class_name extends parent_class_name { use trait_name; child_class functions}
代碼示例:
?php header( content-type:text/html;charset=utf-8 // Hello類class Hello { public function sayhello() { echo br Hello // Phpzww 特性trait Phpzww{ public function sayfor() { echo php class Sample extends Hello { use Phpzww; public function demo() { echo br br 學習編程! $test = new Sample(); $test- sayhello(); $test- sayfor(); $test- demo(); ?
輸出:
代碼說明:
在上面的代碼中,“traits”與父類一起使用。有一個名為“Hello”的類,其中包含函數sayhello()和一個名為“Phpzww”的trait 特性,其中包含函數demo(),并且有一個名為“Sample”的子類,我們正在創建這個名為“test”的類的對象,并使用它調用類和trait 特性 里的所有函數。
2、使用多個Trait特性
基本句式:
class child_class_name { use trait_name; child_class functions}
代碼示例:
?php header( content-type:text/html;charset=utf-8 // 特性:Hello trait Hello{ public function sayhello() { echo br Hello // 特性:Phpzwwtrait Phpzww{ public function sayfor() { echo php ! class Sample { use Hello; use Phpzww; public function Helloforphp() { echo br br 歡迎學習PHP! $test = new Sample(); $test- sayhello(); $test- sayfor(); $test- Helloforphp(); ?
輸出:
在上面的代碼中,使用了多個Trait特性來實現多重繼承。有兩個名為“Hello”和“Phpzww”的特性,分別包含sayhello()、sayfor()函數;還有一個“sample”子類,包含Helloforphp() 函數。我們創建了名為“test”的類的對象,并使用它調用traits 特性的所有函數。
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以關注php 相關教程欄目?。?!
以上就是PHP如何使用Trait特性實現多重繼承?(代碼示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答