摘要:原文地址設(shè)計(jì)模式五多態(tài)在設(shè)計(jì)模式四繼承中我們介紹了繼承,利用來(lái)進(jìn)行程序設(shè)計(jì)的方法。和,,等語(yǔ)言一樣,也支持多態(tài)。多態(tài)更多是是一種面向?qū)ο蟪绦蛟O(shè)計(jì)的概念,讓同一類對(duì)象執(zhí)行同一個(gè)接口,但卻實(shí)現(xiàn)不同的邏輯功能。
Introduction原文地址:PHP設(shè)計(jì)模式(五):多態(tài)
在PHP設(shè)計(jì)模式(四):繼承中我們介紹了繼承,利用extends來(lái)進(jìn)行程序設(shè)計(jì)的方法。
在PHP設(shè)計(jì)模式(二):抽象類和接口中我們介紹了接口,事實(shí)上也存在利用interface的程序設(shè)計(jì)方法,那就是多態(tài)。
和C/C++,Java,Python等語(yǔ)言一樣,PHP也支持多態(tài)。多態(tài)更多是是一種面向?qū)ο蟪绦蛟O(shè)計(jì)的概念,讓同一類對(duì)象執(zhí)行同一個(gè)接口,但卻實(shí)現(xiàn)不同的邏輯功能。
還是用動(dòng)物、鯨魚和鯉魚來(lái)舉例:
eatFish(); $whale->eatMoss(); $carp = new Carp(); $carp->eatFish(); $carp->eatMoss(); ?>
運(yùn)行一下:
$ php Inheritance.php Whale eats fish. Whale doesn"t eat fish. Carp eats moss. Carp doesn"t eat moss.
注意PHP的函數(shù)定義不包含返回值,因此完全可以給不同的接口實(shí)現(xiàn)返回不同類型的數(shù)據(jù)。這一點(diǎn)和C/C++,Java等語(yǔ)言是不同的。此外,返回不同類型的數(shù)據(jù),甚至不返回結(jié)果,對(duì)程序設(shè)計(jì)來(lái)說(shuō),會(huì)額外增加維護(hù)成本,已經(jīng)和使用接口的初衷不同了(接口為了封裝實(shí)現(xiàn),而不同的返回值事實(shí)上是需要調(diào)用者去理解實(shí)現(xiàn)的)。
Summary合理利用多態(tài)對(duì)接口進(jìn)行不同的實(shí)現(xiàn),簡(jiǎn)化你的編程模型,讓代碼易于維護(hù)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/21543.html
摘要:二面向?qū)ο笥惺裁刺卣髅嫦驅(qū)ο蟮闹饕卣饔谐橄罄^承封裝和多態(tài)。析構(gòu)函數(shù)析構(gòu)函數(shù)是在引入的,它的作用與調(diào)用時(shí)機(jī)和構(gòu)造函數(shù)剛好相反,它在對(duì)象被銷毀時(shí)自動(dòng)執(zhí)行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。PHP中面向?qū)ο蟪?嫉闹R(shí)點(diǎn)有以下7點(diǎn),我將會(huì)從以下幾點(diǎn)進(jìn)行詳細(xì)介紹說(shuō)明,幫助你更好的應(yīng)對(duì)PHP面試??嫉拿嫦?qū)ο笙嚓P(guān)的知識(shí)點(diǎn)和考題。整個(gè)面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:面試專欄正式起更,每周一三五更新,提供最好最優(yōu)質(zhì)的面試內(nèi)容。繼上一篇面試常考內(nèi)容之面向?qū)ο蟀l(fā)表后,今天更新面向?qū)ο蟮淖詈笠黄?。面向?qū)ο蟮闹饕卣鳛榉庋b繼承多態(tài)。為了提高內(nèi)聚性減少引起變化,單一原則是低耦合高內(nèi)聚的面向原則上的引申。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。繼上一篇PHP面試常考內(nèi)容之面向?qū)ο螅?)發(fā)表后,今天更新面向?qū)ο蟮淖詈笠黄?...
閱讀 3828·2021-11-24 10:46
閱讀 1786·2021-11-15 11:38
閱讀 3847·2021-11-15 11:37
閱讀 3681·2021-10-27 14:19
閱讀 2037·2021-09-03 10:36
閱讀 2062·2021-08-16 11:02
閱讀 3065·2019-08-30 15:55
閱讀 2327·2019-08-30 15:44