php多態(tài)性是什么-創(chuàng)新互聯(lián)

小編給大家分享一下php多態(tài)性是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

站在用戶的角度思考問題,與客戶深入溝通,找到平南網(wǎng)站設(shè)計(jì)與平南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋平南地區(qū)。

多態(tài)性是指相同的操作或函數(shù)、過程可作用于多種類型的對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息將可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。

多態(tài)性允許每個(gè)對(duì)象以適合自身的方式去響應(yīng)共同的消息。多態(tài)性增強(qiáng)了軟件的靈活性和重用性。

一、什么是多態(tài)?

多 態(tài)(Polymorphism)按字面上意思理解就是“多種形狀”。可以理解為多種表現(xiàn)形式,也即“一個(gè)對(duì)外接口,多個(gè)內(nèi)部實(shí)現(xiàn)方法”。在面向?qū)ο蟮睦碚?中,多態(tài)性的一般定義為:同一個(gè)操作作用于不同的類的實(shí)例,將產(chǎn)生不同的執(zhí)行結(jié)果。也即不同類的對(duì)象收到相同的消息時(shí),將得到不同的結(jié)果。

在實(shí)際的應(yīng)用開發(fā)中,采用面向?qū)ο笾械亩鄳B(tài)主要在于可以將不同的子類對(duì)象都當(dāng)作一個(gè)父類來處理,并且可以屏蔽不同子類對(duì)象之間所存在的差異,寫出通用的代碼,做出通用的編程,以適應(yīng)需求的不斷變化。

二、多態(tài)的應(yīng)用設(shè)計(jì)

在實(shí)際的應(yīng)用開發(fā)中,通常為了使項(xiàng)目能夠在以后的時(shí)間里的輕松實(shí)現(xiàn)擴(kuò)展與升級(jí),需要通過繼承實(shí)現(xiàn)可復(fù)用模塊進(jìn)行輕松升級(jí)。在進(jìn)行可復(fù)用模塊設(shè)計(jì)時(shí),就需要盡可能的減少使用流程控制語句。此時(shí)就可以采用多態(tài)實(shí)現(xiàn)該類設(shè)計(jì)。

舉例:

class painter{ //定義油漆工類
public function paintbrush(){ //定義油漆工動(dòng)作
echo "油漆工正在刷漆!\n";
}
}
class typist{ //定義打字員類
public function typed(){ //定義打字員工作
echo "打字員正在打字!\n";
}
}
function printworking($obj){ //定義處理類
if($obj instanceof painter){ //若對(duì)象是油漆工類,則顯示油漆工動(dòng)作
$obj->paintbrush();
}elseif($obj instanceof typist){ //若對(duì)象是打字員類,則顯示打字員動(dòng)作
$obj->typed();
}else{ //若非以上類,則顯示出錯(cuò)信息
echo "Error: 對(duì)象錯(cuò)誤!";
}
}
printworking(new painter()); //顯示員工工作
printworking(new typist()); //顯示員工工作

分析:在上述程序中,首先定義兩個(gè)員工類:油漆工類和打字員類。然后定義一個(gè)處理函數(shù),在該函數(shù)中,判斷員工是否為已經(jīng)定義的員工,打印出員工的工作狀態(tài)。其結(jié)果如下所示。

油漆工正在刷漆  
打字員正在打字

從以上程序可輕松看出,若想顯示其幾種員工的工作狀態(tài),需要首先定義該員工類,并在該員工類中定義員工的工作,然后在printworking()函數(shù)中增加elseif語句以檢查對(duì)象是哪一員工類的實(shí)例。這在實(shí)際的應(yīng)用中,是非常不可取的。若此時(shí)采用多態(tài),則可以輕松解決此問題。

以上是php多態(tài)性是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:php多態(tài)性是什么-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article30/dpjeso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)品牌網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司