欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP面向?qū)ο蠖鄳B(tài)性實(shí)現(xiàn)方法簡(jiǎn)單示例

 更新時(shí)間:2017年09月27日 11:53:04   作者:懷色  
這篇文章主要介紹了PHP面向?qū)ο蠖鄳B(tài)性實(shí)現(xiàn)方法,簡(jiǎn)單說(shuō)明了面向?qū)ο蠖鄳B(tài)性的原理并結(jié)合具體實(shí)例給出了php實(shí)現(xiàn)多態(tài)性的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP面向?qū)ο蠖鄳B(tài)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

多態(tài):父類引用指向子類對(duì)象(面向?qū)ο笾心軌蚋鶕?jù)使用類的上下文(使用輸入不同的類調(diào)用不同類的方法)來(lái)重新定義或改變類的性質(zhì)和行為。);接口引用指向?qū)崿F(xiàn)接口的類對(duì)象。

面向?qū)ο螅?/strong>把數(shù)據(jù)(屬性),操作數(shù)據(jù)的方法,邏輯,形成一個(gè)類,把類抽象出來(lái)形成對(duì)象,通過(guò)對(duì)象使用類;

<?php
class 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一個(gè)work類
$new_work = new work();
//然后通過(guò)new_work對(duì)象 調(diào)用 polymorphic 方法,傳入不同的類實(shí)現(xiàn) 父類引用指向子類對(duì)象;接口引用指向?qū)崿F(xiàn)接口的類對(duì)象(多態(tài))。
$new_work->polymorphic(new cat());
echo '<br/>';
$new_work->polymorphic(new dog());
echo '<br/>';
//指定類方式仿java
$new_work->bose(new cat());
echo '<br/>';
//如果傳輸其他類,或者未繼承cat類則會(huì)報(bào)錯(cuò)
//$new_work->bose(new dog());
echo '<br />';
//這也不會(huì)報(bào)錯(cuò)
$new_work->bose(new mouse());

運(yùn)行結(jié)果:

cat say miaomiao...
dog say wangwang...
cat say miaomiao...

cat say miaomiao...

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論