• <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>

            依舊的博客

            技術(shù)學(xué)習(xí)

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              17 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks

            軟件中的對(duì)象同領(lǐng)域中的概念有著密切的關(guān)系。

            我們知道概念是人們?cè)谀硞€(gè)領(lǐng)域中實(shí)踐經(jīng)驗(yàn)的總結(jié),并可能發(fā)展為理論。概念是以客觀事物為基礎(chǔ),但不是對(duì)客觀事物的刻板反映。它來自于實(shí)踐,所以包含主體因素,這是很重要的。實(shí)踐是概念的根本來源,理論上的需要對(duì)概念形成也有一些作用。

            軟件中使用的對(duì)象類似于領(lǐng)域中使用的概念。《UML與模式應(yīng)用》中說,面向?qū)ο缶褪前凑崭拍疃皇枪δ苓M(jìn)行分解。為什么軟件要使用概念性元素呢?因?yàn)槿说恼J(rèn)識(shí)是概念性的,而軟件由人來使用,人來開發(fā)。為了提供有良好概念性的用戶接口,軟件本身適宜采用概念性元素。由人來開發(fā)的軟件則更需要采用概念性元素,軟件本身和領(lǐng)域?qū)嵺`都有巨大的復(fù)雜性,人不是按照功能性元素來思考的,面向?qū)ο罂梢宰岄_發(fā)人員用概念性元素思考,從而增加對(duì)復(fù)雜性的適應(yīng)和控制能力。

            領(lǐng)域概念是對(duì)象的重要來源,但是對(duì)象也形成于軟件開發(fā)的過程。一方面,軟件的使用沒有改變領(lǐng)域?qū)嵺`的本質(zhì),至少?zèng)]有完全改變,而概念反映了領(lǐng)域中已經(jīng)成熟的認(rèn)識(shí),所以是非常重要的指導(dǎo)和參考。另一方面,領(lǐng)域?qū)嵺`由軟件進(jìn)行和由人進(jìn)行確實(shí)非常不同,要求進(jìn)行新的認(rèn)識(shí),軟件本身的需要也會(huì)影響到對(duì)象的形成。

            面向?qū)ο蟮幕咎卣鞣从持拍畹幕咎卣鳌?/p>

            1. 封裝:概念不是靜態(tài)的,它的屬性和操作不可分。
            2. 通信:概念不是孤立的,概念的屬性可以其他概念構(gòu)成,也可以在屬性中引用其他概念,概念的操作過程中會(huì)用到其它的概念。
            3. 抽象:從具體概念可以進(jìn)一步產(chǎn)生抽象概念。
            4. 多態(tài):抽象概念有著多樣的具體表現(xiàn)。

            Stroustrup的《C++程序設(shè)計(jì)語言》中說:

            “類應(yīng)該用于模擬程序員的和應(yīng)用的世界里的那些概念。...一個(gè)概念不會(huì)孤立地存在,它總與一些相關(guān)的概念共存,并在與相關(guān)概念的相互關(guān)系中表現(xiàn)出它的大部分力量。...因?yàn)槲覀円妙惐硎靖拍睿瑔栴}就變成了如何去表示概念之間的關(guān)系。然而,我們無法在程序語言里表述任意的關(guān)系。即使能這樣做,我們也未必想去做它。我們的類應(yīng)該定義得比日常概念更窄一些——而且也更精確。”

            我們可以體會(huì)這段話的深刻性。

            1. 類用來定義概念。首先,概念不是靜態(tài)的,它的屬性和操作不可分,封裝是面向?qū)ο蟮牡谝粋€(gè)特征。然后,概念不是孤立的,一個(gè)概念總是與相關(guān)概念共存,最基本的關(guān)系有兩對(duì):封裝和通信,抽象和多態(tài)。前者反映了分工與合作關(guān)系,后者反映了抽象與具體關(guān)系。類是面向?qū)ο蟮暮诵模瑥奶接戭惖淖饔贸霭l(fā),就引出了面向?qū)ο蟮乃膫€(gè)基本特征。
            2. 類所定義的概念不但來自應(yīng)用領(lǐng)域,也來自程序員引入的東西。
            3. “我們無法在程序語言里表述任意的關(guān)系。即使能這樣做,我們也未必想去做它。”
            久久久久无码精品国产app| 99精品久久精品一区二区| 久久中文字幕视频、最近更新| 亚洲国产成人乱码精品女人久久久不卡| 老司机午夜网站国内精品久久久久久久久 | 久久亚洲私人国产精品vA| 久久精品成人国产午夜| 色8激情欧美成人久久综合电| 无码专区久久综合久中文字幕| 91精品国产高清久久久久久国产嫩草| 久久精品国产色蜜蜜麻豆| 国产精品对白刺激久久久| 亚洲欧美久久久久9999| 青草影院天堂男人久久| 亚洲AV无一区二区三区久久 | 婷婷伊人久久大香线蕉AV | 国产精品久久久久久吹潮| 久久伊人影视| 狠狠色综合久久久久尤物| 久久美女人爽女人爽| 91精品国产高清91久久久久久| 久久人人爽人人爽人人片AV不 | 久久久久99精品成人片欧美| 久久久WWW成人免费精品| 狠狠色丁香久久婷婷综| 久久精品麻豆日日躁夜夜躁| 99蜜桃臀久久久欧美精品网站 | 久久AAAA片一区二区| 国产精品视频久久久| 国产午夜免费高清久久影院| 人妻少妇久久中文字幕| 色狠狠久久AV五月综合| 亚洲色欲久久久综合网| 亚洲AV乱码久久精品蜜桃| 亚洲AV无码久久寂寞少妇| 久久精品无码专区免费东京热| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲中文字幕无码久久综合网 | 人妻丰满AV无码久久不卡| 亚洲欧美伊人久久综合一区二区 | 人妻精品久久无码专区精东影业 |