<P>所謂<FONT color=#0000ff>面向?qū)ο蟮脑O(shè)計(jì)</FONT>就是指通過(guò)<FONT color=#0000ff>建立一些類(lèi)以及它們之間的關(guān)系</FONT>來(lái)<FONT color=#0000ff>解決實(shí)際問(wèn)題</FONT>(類(lèi)及關(guān)系解問(wèn)題)。</P>2 V. O _2 ~$ P# L
<P>面向?qū)ο蟮脑O(shè)計(jì)就是要學(xué)會(huì)用"<FONT color=#0000ff>類(lèi)</FONT>"來(lái)思考問(wèn)題,首先要想到程序要處理的是什么而不是它要完成什么功能。</P>
2 w ^. W4 i4 C) E; q7 [! d<P><FONT color=#0000ff>確定類(lèi)有一些原則</FONT>,首先是從問(wèn)題中歸納出需要描述的概念或?qū)嶓w,從這些概念和實(shí)體出發(fā)去建立相應(yīng)的類(lèi)。(如要建立一個(gè)家庭書(shū)庫(kù),則這里可以歸納出一個(gè)描述書(shū)的類(lèi))</P>
R$ e$ o& @" W' U' r9 X( C2 R/ c1 a<P>這些原則中很<FONT face=黑體 color=#ff0000>重要</FONT>的是應(yīng)當(dāng)<FONT color=#ff0000>盡量使類(lèi)小而簡(jiǎn)單</FONT>,使它能夠被一般的程序員所理解,因?yàn)樾《?jiǎn)單的類(lèi)<FONT color=#ff0000>容易實(shí)現(xiàn)</FONT>,如果想設(shè)計(jì)一個(gè)面面俱到的類(lèi),往往會(huì)使類(lèi)太復(fù)雜而無(wú)法使用,要記住,<FONT face=黑體 color=#ff0000>類(lèi)是要拿來(lái)用的,而且必須易于使用</FONT>。如果要考慮復(fù)雜的概念,可以從簡(jiǎn)單的概念開(kāi)始設(shè)計(jì)出簡(jiǎn)單的類(lèi),再通過(guò)一個(gè)類(lèi)族來(lái)實(shí)現(xiàn)它。 </P> i i; D7 i9 m+ C: W; N
<P>還有一個(gè)原則就是要<FONT face=黑體 color=#ff0000>充分利用封裝</FONT>來(lái)增加類(lèi)的可靠性。類(lèi)中的<FONT color=#0000ff>封裝</FONT>可以使類(lèi)不依賴(lài)與具體的環(huán)境,這就使類(lèi)代碼可以重用并運(yùn)用于其他情況。同時(shí),數(shù)據(jù)封裝也嚴(yán)格限制了對(duì)類(lèi)中數(shù)據(jù)成員的訪(fǎng)問(wèn),這可以保證程序的運(yùn)行更加可靠。 </P>
9 Z# v3 J) a7 N+ ]$ U- u) O<P>其他就是通過(guò)建立<FONT color=#0000ff>類(lèi)族</FONT>來(lái)使多態(tài)性有用武之地;設(shè)計(jì)方案要經(jīng)過(guò)實(shí)際測(cè)試才可定型。 </P>
# y5 I8 j) Y% k' S<P>面向?qū)ο蟮脑O(shè)計(jì)方法有:<FONT color=#0000ff>自頂向下</FONT>的設(shè)計(jì)方法、<FONT color=#0000ff>自底向上</FONT>的設(shè)計(jì)方法以及<FONT color=#0000ff>一般的面向?qū)ο蟮脑O(shè)計(jì)方法</FONT>,這是綜合了上述兩種方法,使建立的類(lèi)樹(shù)具有合理的層次結(jié)構(gòu),從而使應(yīng)付錯(cuò)誤的能力大增強(qiáng)。</P>2 w) _' [0 a% j3 w
<P><FONT color=#666666>(看看教材,感覺(jué)好象是東方快車(chē)翻譯出來(lái)的漢化文章,越到后面越是。我覺(jué)得自己成了漢語(yǔ)的受害者。:p)</FONT></P>; h4 M* _$ j: w( ^
<P><FONT color=#0000ff>類(lèi)群</FONT>就是由一些彼此<FONT color=#0000ff>互不相關(guān)</FONT>的類(lèi)和類(lèi)族組成的一組類(lèi)。</P>
4 l; V. f4 _# R- U<P><FONT color=#0000ff>類(lèi)樹(shù)</FONT>就是一組類(lèi)中所有的類(lèi)不管它們之間的差別有多大,他們都有一個(gè)<FONT color=#0000ff>共同的相關(guān)類(lèi)</FONT>(基類(lèi)),這種類(lèi)的結(jié)構(gòu)就稱(chēng)為類(lèi)樹(shù)。</P> |