摘要:原文地址設計模式五多態在設計模式四繼承中我們介紹了繼承,利用來進行程序設計的方法。和,,等語言一樣,也支持多態。多態更多是是一種面向對象程序設計的概念,讓同一類對象執行同一個接口,但卻實現不同的邏輯功能。
Introduction原文地址:PHP設計模式(五):多態
在PHP設計模式(四):繼承中我們介紹了繼承,利用extends來進行程序設計的方法。
在PHP設計模式(二):抽象類和接口中我們介紹了接口,事實上也存在利用interface的程序設計方法,那就是多態。
和C/C++,Java,Python等語言一樣,PHP也支持多態。多態更多是是一種面向對象程序設計的概念,讓同一類對象執行同一個接口,但卻實現不同的邏輯功能。
還是用動物、鯨魚和鯉魚來舉例:
eatFish(); $whale->eatMoss(); $carp = new Carp(); $carp->eatFish(); $carp->eatMoss(); ?>
運行一下:
$ php Inheritance.php Whale eats fish. Whale doesn"t eat fish. Carp eats moss. Carp doesn"t eat moss.
注意PHP的函數定義不包含返回值,因此完全可以給不同的接口實現返回不同類型的數據。這一點和C/C++,Java等語言是不同的。此外,返回不同類型的數據,甚至不返回結果,對程序設計來說,會額外增加維護成本,已經和使用接口的初衷不同了(接口為了封裝實現,而不同的返回值事實上是需要調用者去理解實現的)。
Summary合理利用多態對接口進行不同的實現,簡化你的編程模型,讓代碼易于維護。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/21543.html
摘要:二面向對象有什么特征面向對象的主要特征有抽象繼承封裝和多態。析構函數析構函數是在引入的,它的作用與調用時機和構造函數剛好相反,它在對象被銷毀時自動執行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優質的PHP面試內容。PHP中面向對象常考的知識點有以下7點,我將會從以下幾點進行詳細介紹說明,幫助你更好的應對PHP面試常考的面向對象相關的知識點和考題。整個面向對象文章的結構涉...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:面試專欄正式起更,每周一三五更新,提供最好最優質的面試內容。繼上一篇面試常考內容之面向對象發表后,今天更新面向對象的最后一篇。面向對象的主要特征為封裝繼承多態。為了提高內聚性減少引起變化,單一原則是低耦合高內聚的面向原則上的引申。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優質的PHP面試內容。繼上一篇PHP面試常考內容之面向對象(2)發表后,今天更新面向對象的最后一篇(3...
閱讀 3749·2021-11-24 10:46
閱讀 1713·2021-11-15 11:38
閱讀 3770·2021-11-15 11:37
閱讀 3491·2021-10-27 14:19
閱讀 1950·2021-09-03 10:36
閱讀 2000·2021-08-16 11:02
閱讀 3006·2019-08-30 15:55
閱讀 2259·2019-08-30 15:44