<P>所謂<FONT color=#0000ff>面向?qū)ο蟮脑O(shè)計(jì)</FONT>就是指通過(guò)<FONT color=#0000ff>建立一些類以及它們之間的關(guān)系</FONT>來(lái)<FONT color=#0000ff>解決實(shí)際問(wèn)題</FONT>(類及關(guān)系解問(wèn)題)。</P>
1 S+ W5 O" d! [/ a/ f5 r0 d' v<P>面向?qū)ο蟮脑O(shè)計(jì)就是要學(xué)會(huì)用"<FONT color=#0000ff>類</FONT>"來(lái)思考問(wèn)題,首先要想到程序要處理的是什么而不是它要完成什么功能。</P>) g+ B1 |1 ?+ i' H
<P><FONT color=#0000ff>確定類有一些原則</FONT>,首先是從問(wèn)題中歸納出需要描述的概念或?qū)嶓w,從這些概念和實(shí)體出發(fā)去建立相應(yīng)的類。(如要建立一個(gè)家庭書(shū)庫(kù),則這里可以歸納出一個(gè)描述書(shū)的類)</P>( `# L' \4 P+ v# a
<P>這些原則中很<FONT face=黑體 color=#ff0000>重要</FONT>的是應(yīng)當(dāng)<FONT color=#ff0000>盡量使類小而簡(jiǎn)單</FONT>,使它能夠被一般的程序員所理解,因?yàn)樾《?jiǎn)單的類<FONT color=#ff0000>容易實(shí)現(xiàn)</FONT>,如果想設(shè)計(jì)一個(gè)面面俱到的類,往往會(huì)使類太復(fù)雜而無(wú)法使用,要記住,<FONT face=黑體 color=#ff0000>類是要拿來(lái)用的,而且必須易于使用</FONT>。如果要考慮復(fù)雜的概念,可以從簡(jiǎn)單的概念開(kāi)始設(shè)計(jì)出簡(jiǎn)單的類,再通過(guò)一個(gè)類族來(lái)實(shí)現(xiàn)它。 </P>: Z A6 z5 i/ s" Y0 y& [. ?- m1 j
<P>還有一個(gè)原則就是要<FONT face=黑體 color=#ff0000>充分利用封裝</FONT>來(lái)增加類的可靠性。類中的<FONT color=#0000ff>封裝</FONT>可以使類不依賴與具體的環(huán)境,這就使類代碼可以重用并運(yùn)用于其他情況。同時(shí),數(shù)據(jù)封裝也嚴(yán)格限制了對(duì)類中數(shù)據(jù)成員的訪問(wèn),這可以保證程序的運(yùn)行更加可靠。 </P>+ `6 B& h! w2 {) ], Q: z3 y
<P>其他就是通過(guò)建立<FONT color=#0000ff>類族</FONT>來(lái)使多態(tài)性有用武之地;設(shè)計(jì)方案要經(jīng)過(guò)實(shí)際測(cè)試才可定型。 </P>
7 Z$ z3 C8 x0 |/ K# G<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>,這是綜合了上述兩種方法,使建立的類樹(shù)具有合理的層次結(jié)構(gòu),從而使應(yīng)付錯(cuò)誤的能力大增強(qiáng)。</P>. o) T: A, F1 s8 s" @3 N" h
<P><FONT color=#666666>(看看教材,感覺(jué)好象是東方快車翻譯出來(lái)的漢化文章,越到后面越是。我覺(jué)得自己成了漢語(yǔ)的受害者。:p)</FONT></P>& V9 F- G) h9 I K
<P><FONT color=#0000ff>類群</FONT>就是由一些彼此<FONT color=#0000ff>互不相關(guān)</FONT>的類和類族組成的一組類。</P>
* n9 Y- g0 Y2 Z' c& z<P><FONT color=#0000ff>類樹(shù)</FONT>就是一組類中所有的類不管它們之間的差別有多大,他們都有一個(gè)<FONT color=#0000ff>共同的相關(guān)類</FONT>(基類),這種類的結(jié)構(gòu)就稱為類樹(shù)。</P> |