學(xué)習(xí)繼承時(shí),為了創(chuàng)建繼承分級(jí)結(jié)構(gòu),看來(lái)最明顯的方法是采取一種“純粹”的手段。也就是說(shuō),只有在基
礎(chǔ)類(lèi)或“接口”中已建立的方法才可在衍生類(lèi)中被覆蓋
可將其描述成一種純粹的“屬于”關(guān)系,因?yàn)橐粋(gè)類(lèi)的接口已規(guī)定了它到底“是什么”或者“屬于什么”。
通過(guò)繼承,可保證所有衍生類(lèi)都只擁有基礎(chǔ)類(lèi)的接口。如果按上述示意圖操作,衍生出來(lái)的類(lèi)除了基礎(chǔ)類(lèi)的
接口之外,也不會(huì)再擁有其他什么。
可將其想象成一種“純替換”,因?yàn)檠苌?lèi)對(duì)象可為基礎(chǔ)類(lèi)完美地替換掉。使用它們的時(shí)候,我們根本沒(méi)必
要知道與子類(lèi)有關(guān)的任何額外信息
也就是說(shuō),基礎(chǔ)類(lèi)可接收我們發(fā)給衍生類(lèi)的任何消息,因?yàn)閮烧邠碛型耆恢碌慕涌。我們要做的全部事?br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />
就是從衍生上溯造型,而且永遠(yuǎn)不需要回過(guò)頭來(lái)檢查對(duì)象的準(zhǔn)確類(lèi)型是什么。所有細(xì)節(jié)都已通過(guò)多形性獲得
了完美的控制。
若按這種思路考慮問(wèn)題,那么一個(gè)純粹的“屬于”關(guān)系似乎是唯一明智的設(shè)計(jì)方法,其他任何設(shè)計(jì)方法都會(huì)
導(dǎo)致混亂不清的思路,而且在定義上存在很大的困難。但這種想法又屬于另一個(gè)極端。經(jīng)過(guò)細(xì)致的研究,我
們發(fā)現(xiàn)擴(kuò)展接口對(duì)于一些特定問(wèn)題來(lái)說(shuō)是特別有效的方案?蓪⑵浞Q(chēng)為“類(lèi)似于”關(guān)系,因?yàn)閿U(kuò)展后的衍生
類(lèi)“類(lèi)似于”基礎(chǔ)類(lèi)——它們有相同的基礎(chǔ)接口——但它增加了一些特性,要求用額外的方法加以實(shí)現(xiàn)
盡管這是一種有用和明智的做法(由具體的環(huán)境決定),但它也有一個(gè)缺點(diǎn):衍生類(lèi)中對(duì)接口擴(kuò)展的那一部
分不可在基礎(chǔ)類(lèi)中使用。所以一旦上溯造型,就不可再調(diào)用新方法:
若在此時(shí)不進(jìn)行上溯造型,則不會(huì)出現(xiàn)此類(lèi)問(wèn)題。但在許多情況下,都需要重新核實(shí)對(duì)象的準(zhǔn)確類(lèi)型,使自
己能訪(fǎng)問(wèn)那個(gè)類(lèi)型的擴(kuò)展方法。在后面的小節(jié)里,我們具體講述了這是如何實(shí)現(xiàn)的。 本文出自:億恩科技【prubsntakaful.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|