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

PHP多態(tài)代碼實(shí)例

 更新時(shí)間:2015年06月26日 10:56:28   投稿:junjie  
這篇文章主要介紹了PHP多態(tài)代碼實(shí)例,本文用2個(gè)代碼實(shí)例來演示PHP中的多態(tài),需要的朋友可以參考下

多態(tài)定義:只關(guān)心一個(gè)接口或者基類,而不關(guān)心一個(gè)對象的具體類。(同一類型,不同結(jié)果)

這里兩個(gè)例子:

第一個(gè),我們發(fā)現(xiàn),基類定義了標(biāo)準(zhǔn),子類進(jìn)行了自我規(guī)則的實(shí)現(xiàn)。這是多態(tài)的一個(gè)要求。同時(shí),這是滿足重寫;實(shí)際上這是不同類的不同表現(xiàn);沒有嚴(yán)格滿足一個(gè)接口,或者基類編程。因?yàn)槟阏{(diào)用的時(shí)候不是 stu->showGrade() 而是各自自己的方法;

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());

第二個(gè)例子:dovoice 參數(shù)規(guī)定了$obj 為animal,意識就是用接口 接受了 實(shí)現(xiàn)類對象。了向上轉(zhuǎn)型。這就符合同一類型,不同結(jié)果了,這就是多態(tài);

實(shí)際上在Java中 會是 animal a = new dog();這樣子的;因?yàn)镻HP 是若類型語言。沒有對象轉(zhuǎn)型機(jī)制。

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());

相關(guān)文章

最新評論