本文實例講述了PHP面向對象多態實現方法。分享給大家供大家參考,具體如下:
多態:父類引用指向子類對象(面向對象中能夠根據使用類的上下文(使用輸入不同的類調用不同類的方法)來重新定義或改變類的性質和行為。);接口引用指向實現接口的類對象。
面向對象:把數據(屬性),操作數據的方法,邏輯,形成一個類,把類抽象出來形成對象,通過對象使用類;
<?phpclass work{ function polymorphic($obj){ //檢查是否引用類型(obj是否繼承animal類) if($obj instanceof animal){ $obj -> fun(); } else{ echo "no function"; } } //如果需要指定類 (指定cat類,包含cat子類) function bose(cat $obj){ $obj->fun(); }}//抽象類 abstract class animal{ abstract function fun();}//cat貓類class cat extends animal{ function fun(){ echo "cat say miaomiao..."; }}//dog狗類class dog extends animal{ function fun(){ echo "dog say wangwang..."; }}class mouse extends cat{}//先new一個work類$new_work = new work();//然后通過new_work對象 調用 polymorphic 方法,傳入不同的類實現 父類引用指向子類對象;接口引用指向實現接口的類對象(多態)。$new_work->polymorphic(new cat());echo '<br/>';$new_work->polymorphic(new dog());echo '<br/>';//指定類方式仿java$new_work->bose(new cat());echo '<br/>';//如果傳輸其他類,或者未繼承cat類則會報錯//$new_work->bose(new dog());echo '<br />';//這也不會報錯$new_work->bose(new mouse());
運行結果:
cat say miaomiao...dog say wangwang...cat say miaomiao...cat say miaomiao...
希望本文所述對大家PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選