隨筆-159  評論-114  文章-7  trackbacks-0
          準(zhǔn)備使用IBM收購Rational以后的最新產(chǎn)品RSA 6.0,作為開發(fā)建模工具。

          人寫程序與類在打交道,而在程序運(yùn)行時(shí),是對象在運(yùn)行。

          人寫的是類型,而動態(tài)的是對象,使機(jī)器在運(yùn)行代碼。

          OO是一種系統(tǒng)建模的技術(shù),是一個(gè)過程!

          對對象進(jìn)行描述。

          在這個(gè)過程中,要使用UML語言進(jìn)行類型的描述。

          ========================================

          比如模擬達(dá)內(nèi),可以說有很多老師對象和學(xué)生對象,但在達(dá)內(nèi),關(guān)注學(xué)生這個(gè)個(gè)體什么呢?只關(guān)心姓名,性別,背景,而絕對不關(guān)心它的婚姻情況。

          可以對這些對象進(jìn)行共性的提取,變?yōu)槔蠋燁愋秃蛯W(xué)生類型。而運(yùn)行時(shí)就是一個(gè)個(gè)有特性的實(shí)例。

          ========================================

          什么是對象,就是一個(gè)屬性確定的實(shí)體。比如找對象,這個(gè)對象在你心中早就有特定的要求,那么這樣的一個(gè)對象肯定是有確定屬性的對象。是單個(gè)的,唯一的,識別的實(shí)體。

          那么由于成員變量的值不同,方法調(diào)用的結(jié)果不同。

          所以對象是構(gòu)建系統(tǒng)的基石。
          它包括:<1>標(biāo)識也就是引用名
                       <2>數(shù)據(jù)
                       <3>方法

          什么是Class,它是對對象的定義。對于在某一個(gè)環(huán)境下的對于對象關(guān)心屬性的提取和抽象。

          ====================================

          面向?qū)ο缶幊痰奶攸c(diǎn)

          1抽象,就是一個(gè)提煉過程
          2封裝,隱藏細(xì)節(jié)(屬性和私有方法)
          3繼承,上下層次
          4多態(tài)
          --------------------------------------------
          5,關(guān)聯(lián),對象的依賴程度
          6,聚合
          7,組合
          8,內(nèi)聚&耦合

          1,抽象的目的,主要是隱藏細(xì)節(jié),可以簡化信息,看到顯著特征。
          2,封裝的目的,隱藏?cái)?shù)據(jù)和行為,
                
                            注意,類有兩個(gè)視圖,對外視圖(別人使用此類,不關(guān)心實(shí)現(xiàn))
                                                                   內(nèi)視圖(自己拿著代碼,要知道實(shí)現(xiàn))

          3,關(guān)聯(lián)
                      一個(gè)類型使用其他類型對象的服務(wù)。
          4,聚合
                      一種強(qiáng)關(guān)聯(lián),一個(gè)是另外一個(gè)的組成部分,而不是必要部分。
                      一個(gè)汽車和一個(gè)音響。
          5,組合
                      一個(gè)對象包含另外一個(gè)對象
                      一個(gè)是另外一個(gè)組成部分
                      大的東西決定著組成部分的生命周期

          6,繼承,是一種實(shí)現(xiàn)代碼復(fù)用的手段,語言的特性。另外一種代碼復(fù)用的方式就是組合。

                減少代碼量,維護(hù)方便。


          組件的開發(fā)

          在開發(fā)過程中,要遵循高內(nèi)聚,低耦合的規(guī)律。

          組件內(nèi)部要相互的調(diào)用,來統(tǒng)一對外實(shí)現(xiàn)一個(gè)功能,而外界為實(shí)現(xiàn)這個(gè)功能,基本不需要再做什么,那么這個(gè)組件的重用性,就愈高。依賴于別人的越少,那么組件的復(fù)用價(jià)值也就愈高。


          多態(tài)

          有統(tǒng)一的接口,而行為有它的子類型的行為確定。

          運(yùn)行時(shí)多態(tài),就是子類型重寫了父類型virtual方法。

          能使用編譯時(shí)多態(tài)就是用編譯時(shí)多態(tài)。

          ================

          所以可以將上面的幾個(gè)特點(diǎn)按類別分類,比如,單個(gè)類型、類型之間、層次結(jié)構(gòu)、編程規(guī)則。







          posted on 2006-02-28 23:57 北國狼人的BloG 閱讀(556) 評論(1)  編輯  收藏 所屬分類: 達(dá)內(nèi)學(xué)習(xí)總結(jié)

          評論:
          # re: OOAD 面向?qū)ο笤O(shè)計(jì)與分析 2006-10-16 13:47 | yelite
          總結(jié)出來以饗讀者,不錯(cuò)。頂一個(gè)。  回復(fù)  更多評論
            
          主站蜘蛛池模板: 涡阳县| 林口县| 晋州市| 团风县| 子长县| 屏南县| 闽清县| 广安市| 西和县| 扎兰屯市| 蓝山县| 永康市| 鸡东县| 手游| 廉江市| 安丘市| 冀州市| 蓬溪县| 定陶县| 错那县| 绍兴县| 弥勒县| 栾城县| 林甸县| 徐闻县| 巫山县| 定州市| 来安县| 兴仁县| 辽中县| 龙山县| 湘乡市| 榆中县| 称多县| 赤城县| 旬阳县| 昌吉市| 尼勒克县| 鸡泽县| 咸阳市| 安西县|