說通俗點,php中使用trait關鍵字是為了解決乙個類既想整合基類的屬性和方法,又想擁有別的基類的方法,而trait一般情況下是和use搭配使用的。
carname}\n"; } } class person } class student extends person } $student = new student(); $student->study(); $student->eat(); $student->driving(); ?>
輸出結果如下: study eat driving trait 上面的例子中,student類通過繼承person,有了eat方法,通過組合drive,有了driving方法和屬性carname。 如果trait、基類和本類中都存在某個同名的屬性或者方法,最終會保留哪乙個呢?
hello(); $student->driving(); ?>
輸出結果如下: hello student driving from drive 因此得出結論:當方法或屬性同名時,當前類中的方法會覆蓋 trait的 方法,而 trait 的方法又覆蓋了基類中的方法。 如果要組合多個trait,通過逗號分隔 trait名稱: use trait1, trait2; 如果多個trait中包含同名方法或者屬性時,會怎樣呢?答案是當組合的多個trait包含同名屬性或者方法時,需要明確宣告解決衝突,否則會產生乙個致命錯誤。
hello(); $obj1->hi(); echo "\n"; $obj2 = new class2(); $obj2->hello(); $obj2->hi(); $obj2->hei(); $obj2->hehe(); ?>
sayhello(); $obj->sayworld(); echo $obj->getworld() . "\n"; helloworld::dosomething(); $obj->inc(); $obj->inc(); ?>
輸出結果如下: hello world get world doing something 1 2
北京**建設
PHP中trait使用方法
1.php中使用trait關鍵字是為了解決乙個類既想整合基類的屬性和方法,又想擁有別的基類的方法,而trait一般情況下是和use搭配使用的。trait drive n class person class student extends person student new student stu...
metasploit port 詳細使用方法
資訊收集 auxiliary sniffer psnuffle 嗅探抓包 auxiliary scanner http dir scanner 掃瞄 目錄 auxiliary gather search email collector 搜尋 中的e mail 服務掃瞄及利用模組 auxiliary ...
linux awk詳細使用方法
awk是linxu裡實用強大的字元類相關的處理程式,處理方式 逐行讀取檔案的方式 條件處理或統計。支援正規和擴充套件正規 1 基本操作方法 格式 awk 選項 條件 檔案 其中,print 是最常用的編輯指令 若有多條編輯指令,可用分號分隔。awk過濾資料時支援僅列印某一列,如第2列 第5列等。處理...