青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天行健 君子當(dāng)自強(qiáng)而不息

【ZT】C++批判(5)


繼承的本質(zhì)

繼承關(guān)系是一種耦合度很高的關(guān)系,它與組合及一般化(genericity)一樣,提供了OO中的一種基本方法,用以將不同的軟件組件組合起來(lái)。一個(gè)類(lèi)的實(shí)例同時(shí)也是那個(gè)類(lèi)的所有的祖先的實(shí)例。為了保證面向?qū)ο笤O(shè)計(jì)的有效性,我們應(yīng)該保存下這種關(guān)系的一致性。在子類(lèi)中的每一次重新定義都應(yīng)該與在其祖先類(lèi)中的最初定義進(jìn)行一致性檢查。子類(lèi)中應(yīng)該保存下其祖先類(lèi)的需求。如果存在著不能被保存的需求,就說(shuō)明了系統(tǒng)的設(shè)計(jì)有錯(cuò)誤,或者是在系統(tǒng)中此處使用繼承是不恰當(dāng)?shù)摹S捎诶^承是面向?qū)ο笤O(shè)計(jì)的基礎(chǔ),所以才會(huì)要求有一致性檢測(cè)。C++中對(duì)于非虛擬函數(shù)重載的實(shí)現(xiàn), 意味著編譯器將不會(huì)為其進(jìn)行一致性檢測(cè)。C++并沒(méi)有提供面向?qū)ο笤O(shè)計(jì)的這方面的保證。

繼承被分成"語(yǔ)法"繼承和"語(yǔ)義"繼承兩部分。 Saake等人將其描述如下:"語(yǔ)法繼承表示為結(jié)構(gòu)或方法定義的繼承,并且因此與代碼的重復(fù)使用(以及重寫(xiě)被繼承方法的代碼)聯(lián)系起來(lái)。語(yǔ)義繼承表示為對(duì)對(duì)象語(yǔ)義(即對(duì)象自己)的繼承,。這種繼承形式可以從語(yǔ)義的數(shù)據(jù)模型中被得知,在此它被用于代表在一個(gè)應(yīng)用程序的若干個(gè)角色中出現(xiàn)的一個(gè)對(duì)象。"[SJE 91]。Saake等人集中研究了繼承的語(yǔ)義形式。通過(guò)是行為還是語(yǔ)義的繼承方式的判斷,表示了對(duì)象在系統(tǒng)中所扮的角色。
 
然而, Wegner相信代碼繼承更具有實(shí)際的價(jià)值。他將語(yǔ)法與語(yǔ)義繼承之間的區(qū)別表示為代碼和行為上的區(qū)別[Weg 91](p43)。他認(rèn)為這樣的劃分不會(huì)引起一方與另一方的兼容,并且還經(jīng)常與另一方不一致。Wegner同樣也提出這樣的問(wèn)題:"應(yīng)該怎樣抑制對(duì)繼承屬性的修改?"代碼繼承為模塊化(modularisation)提供一個(gè)基礎(chǔ)。行為繼承則依賴(lài)于"is-a"關(guān)系。這兩種繼承方式在合適處都十分有用。它們都要求進(jìn)行一致性的檢測(cè),這與實(shí)際上的有意義的繼承密不可分。

看起來(lái)在語(yǔ)義保持關(guān)系中那些限制最多的形式中,繼承似乎是其中最強(qiáng)的形式;子類(lèi)應(yīng)該保存祖先類(lèi)中的所有假設(shè)。

Meyer [Meyer 96a and 96b]也對(duì)繼承技術(shù)進(jìn)行了分類(lèi)。在他的分類(lèi)法中,他指出了繼承的12種用法。這些分析也給我們?cè)趺词褂美^承提供了一個(gè)很好的判斷標(biāo)準(zhǔn),如:什么時(shí)候應(yīng)該使用繼承,什么時(shí)候不應(yīng)該它。

軟件組件就象七巧板一樣。當(dāng)我們組裝七巧板時(shí),每一塊板的形狀必須要合適,但更重要地是,最終拼出的圖像必須要有意義,能夠被說(shuō)得通。而將軟件組件組合起來(lái)就更困難了。七巧板只是需要將原本是完整的一幅圖像重新組合起來(lái)。而對(duì)軟件組件的組合會(huì)得到什么樣的結(jié)果,是我們不可能預(yù)見(jiàn)到的。更糟的是,七巧板的每一塊通常是由不同的程序員產(chǎn)生的,這樣當(dāng)整個(gè)的系統(tǒng)被組合起來(lái)時(shí),對(duì)于它們的吻合程度的要求就更高了。

C++中的繼承像是一塊七巧板,所有的板塊都能夠組合在一起,但是編譯器卻沒(méi)有辦法檢測(cè)最終的結(jié)果是否有意義。換句話說(shuō),C++僅為類(lèi)和繼承提供了語(yǔ)法,而非語(yǔ)義。可重用的C++函數(shù)庫(kù)的緩慢出現(xiàn),暗示了C++可能會(huì)盡可能地不支持可重用性。相反的是,Java,Eiffel和Object Pascal都與函數(shù)庫(kù)包裝在一起出現(xiàn)。Object Pascal與MacApp應(yīng)用軟件框架聯(lián)系非常緊密。Java也從與Java API的耦合中解脫出來(lái),取而代之的是一個(gè)包容廣泛的函數(shù)庫(kù)。Eiffel也同樣是與一個(gè)極其全面的函數(shù)庫(kù)集成在一起,該函數(shù)庫(kù)甚至比Java的還要大。事實(shí)上函數(shù)庫(kù)的概念已經(jīng)成為一個(gè)優(yōu)先于Eiffel語(yǔ)言本身的工程,用以對(duì)所有在計(jì)算機(jī)科學(xué)中通用的結(jié)構(gòu)進(jìn)行重新分類(lèi),得到一個(gè)常用的分類(lèi)法。 [Meyer 94].

posted on 2007-09-27 13:27 lovedday 閱讀(512) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): ▲ C++ Program

公告

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

隨筆分類(lèi)(178)

3D游戲編程相關(guān)鏈接

搜索

最新評(píng)論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜免费电影一区在线观看| 亚洲色无码播放| 麻豆精品91| 久久综合国产精品台湾中文娱乐网| 午夜精品成人在线| 欧美在线观看一二区| 欧美一区二区视频在线观看| 久久成人羞羞网站| 老色鬼精品视频在线观看播放| 欧美成人嫩草网站| 国产精品chinese| 国产嫩草影院久久久久| 一区视频在线| 999在线观看精品免费不卡网站| 一区二区三区视频在线观看| 午夜精品久久久久| 免费观看成人| 一区二区冒白浆视频| 久久成人资源| 欧美日韩不卡一区| 国产网站欧美日韩免费精品在线观看 | 欧美va亚洲va香蕉在线| 亚洲国产精品女人久久久| 亚洲人成欧美中文字幕| 亚洲一区二区少妇| 榴莲视频成人在线观看| 亚洲高清在线播放| 亚洲午夜女主播在线直播| 久久久久国产精品厨房| 欧美午夜电影网| 在线观看日韩av先锋影音电影院| 99亚洲伊人久久精品影院红桃| 欧美一级片在线播放| 亚洲大片av| 欧美自拍偷拍午夜视频| 欧美日韩精品一区二区| 国内一区二区在线视频观看| 亚洲视频中文| 免费亚洲电影在线| 亚洲欧美偷拍卡通变态| 欧美久久一区| 亚洲黄色一区| 久久成人免费视频| 一区二区三区国产在线| 欧美国产亚洲另类动漫| 伊人久久大香线蕉综合热线| 欧美一区永久视频免费观看| 亚洲靠逼com| 欧美fxxxxxx另类| 黄色小说综合网站| 久久久五月天| 香蕉亚洲视频| 国产精品三上| 亚洲一区二区免费视频| 亚洲日本中文字幕免费在线不卡| 久久久精品国产免大香伊| 国产精品高清在线| 一区二区三区日韩精品| 亚洲国产精品一区二区久 | 最新日韩欧美| 欧美大片免费观看在线观看网站推荐| 国产主播一区二区三区四区| 欧美影院成年免费版| 亚洲欧洲另类国产综合| 欧美伦理视频网站| 亚洲乱码国产乱码精品精98午夜| 欧美黑人在线观看| 欧美精品一区二区三区蜜臀| 夜夜嗨av一区二区三区免费区| 91久久精品日日躁夜夜躁国产| 男人的天堂亚洲在线| 亚洲欧洲日本mm| 亚洲第一区色| 欧美区一区二| 午夜国产精品视频免费体验区| 一区二区三区久久| 国产精品最新自拍| 久久视频精品在线| 美日韩精品视频免费看| 美女黄网久久| 日韩一级精品| 欧美人与性动交cc0o| 亚洲乱码国产乱码精品精| 亚洲国产精品美女| 欧美午夜美女看片| 亚洲欧美资源在线| 欧美一级一区| 久久久久久电影| 亚洲日本成人在线观看| av成人免费在线观看| 国产亚洲aⅴaaaaaa毛片| 久久深夜福利免费观看| 欧美1区2区视频| 亚洲尤物在线视频观看| 久久电影一区| 日韩亚洲不卡在线| 亚洲综合国产| 亚洲精品乱码久久久久久日本蜜臀 | 欧美视频免费在线| 欧美一区二区三区在线播放| 久久精品国产欧美亚洲人人爽| 亚洲激情在线观看视频免费| 99精品国产在热久久婷婷| 国产精品亚洲产品| 亚洲国产精品一区在线观看不卡| 国产精品老牛| 亚洲国产精品123| 国产女主播一区二区| 亚洲国产网站| 激情五月***国产精品| 99精品国产热久久91蜜凸| 在线观看日韩精品| 欧美一进一出视频| 亚洲一区二区三区四区视频| 蜜桃精品久久久久久久免费影院| 久久大香伊蕉在人线观看热2| 欧美日韩高清一区| 欧美激情一区二区三区在线| 国内精品久久久久久| 亚洲靠逼com| 亚洲欧洲精品一区二区三区 | 亚洲无人区一区| 久久综合久久综合久久| 欧美在线日韩| 国产精品二区三区四区| 亚洲精品美女在线观看播放| 激情成人综合网| 亚洲欧美视频一区| 午夜精品久久久久久久久久久久 | 极品尤物av久久免费看| 亚洲免费人成在线视频观看| av成人激情| 美女主播一区| 欧美一区三区三区高中清蜜桃 | 老司机午夜精品视频在线观看| 欧美一级片久久久久久久 | 亚洲风情亚aⅴ在线发布| 小处雏高清一区二区三区| 亚洲午夜免费视频| 欧美日韩亚洲综合| 日韩视频一区二区三区在线播放免费观看 | 欧美成人性生活| 亚洲国产日韩欧美在线99| 在线观看一区视频| 久久久久久高潮国产精品视| 久久综合九色综合久99| 亚洲第一精品夜夜躁人人躁| 久久久久久久久一区二区| 久久亚洲国产精品日日av夜夜| 尤物精品在线| 老司机午夜免费精品视频 | 欧美中文在线视频| 国产精品一区二区久久久久| 日韩亚洲不卡在线| 性视频1819p久久| 国产视频一区二区在线观看| 欧美一区二区视频在线| 欧美v日韩v国产v| 亚洲人精品午夜| 欧美日韩亚洲一区二区| 午夜精品久久久久久久久久久| 久久不射网站| 亚洲第一区在线观看| 欧美绝品在线观看成人午夜影视| 9色porny自拍视频一区二区| 欧美一区二区三区在线免费观看| 老司机一区二区三区| 一区二区久久久久久| 国产视频欧美| 欧美美女bbbb| 欧美一二三区精品| 亚洲国产高潮在线观看| 午夜在线观看欧美| 91久久综合亚洲鲁鲁五月天| 国产精品国产三级国产普通话蜜臀 | 亚洲欧洲一区二区在线播放| 亚洲欧美国产制服动漫| 国产亚洲精品久| 欧美日本一区二区三区| 欧美一区二区三区久久精品茉莉花 | 欧美一区二区三区视频| 国产亚洲欧美日韩在线一区| 免费欧美在线视频| 亚洲欧美日韩综合| 亚洲三级国产| 猛男gaygay欧美视频| 亚洲永久网站| 亚洲日本激情| 国产一区二区三区奇米久涩| 欧美日韩国产另类不卡| 久久久久久久一区二区| 99re热精品| 欧美大片在线观看一区二区| 欧美专区在线播放| 一区二区电影免费观看| 亚洲黄色性网站| 精品二区视频| 国产综合色一区二区三区| 国产精品久久97| 欧美极品影院|