《PHP學習:PHP多態代碼實例》要點:
本文介紹了PHP學習:PHP多態代碼實例,希望對您有用。如果有疑問,可以聯系我們。
多態定義:只關心一個接口或者基類,而不關心一個對象的具體類.(同一類型,不同結果)PHP學習
這里兩個例子:PHP學習
第一個,我們發現,基類定義了標準,子類進行了自我規則的實現.這是多態的一個要求.同時,這是滿足重寫;實際上這是不同類的不同表現;沒有嚴格滿足一個接口,或者基類編程.因為你調用的時候不是 stu->showGrade() 而是各自自己的方法;PHP學習
class stu{ public function showGrade(){ echo "base class"; } } class xiaomin extends stu{ public function showGrade(){ echo "is son show 80"; } } class xiaoli extends stu{ public function showGrade(){ echo "is son show 60"; } } function doit($obj){ if(get_class($obj) != "stu"){ $obj->showGrade(); } } doit(new xiaoli()); doit(new xiaomin());
第二個例子:dovoice 參數規定了$obj 為animal,意識就是用接口 接受了 實現類對象.了向上轉型.這就符合同一類型,不同結果了,這就是多態;PHP學習
實際上在Java中 會是 animal a = new dog();這樣子的;因為PHP 是若類型語言.沒有對象轉型機制.PHP學習
interface animal{ public function voice(); } class cat implements animal{ public function voice(){ echo "miao~~~<br>"; } } class dog implements animal{ public function voice(){ echo "wang ~~~<br>"; } } function dovoice(animal $obj){ $obj->voice(); } dovoice(new dog()); dovoice(new cat());
維易PHP培訓學院每天發布《PHP學習:PHP多態代碼實例》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。