<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>4 n8 ?: e2 p k1 c P( W
<P>面向?qū)ο蟮脑O(shè)計(jì)就是要學(xué)會(huì)用"<FONT color=#0000ff>類</FONT>"來(lái)思考問(wèn)題,首先要想到程序要處理的是什么而不是它要完成什么功能。</P>$ Z# `6 O8 N* Q1 J; h; I) K+ x, T1 Q
<P><FONT color=#0000ff>確定類有一些原則</FONT>,首先是從問(wèn)題中歸納出需要描述的概念或?qū)嶓w,從這些概念和實(shí)體出發(fā)去建立相應(yīng)的類。(如要建立一個(gè)家庭書(shū)庫(kù),則這里可以歸納出一個(gè)描述書(shū)的類)</P>; {4 A) ^" b0 x$ `4 b7 O$ ^
<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>; I- S! y: [1 ^( s4 M; ?1 C
<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>
' W: O5 N1 `0 q- z9 Y<P>其他就是通過(guò)建立<FONT color=#0000ff>類族</FONT>來(lái)使多態(tài)性有用武之地;設(shè)計(jì)方案要經(jīng)過(guò)實(shí)際測(cè)試才可定型。 </P>/ ]' R- Z; ?8 f. @6 H
<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>
6 V7 k: [4 v7 C5 S8 C<P><FONT color=#666666>(看看教材,感覺(jué)好象是東方快車翻譯出來(lái)的漢化文章,越到后面越是。我覺(jué)得自己成了漢語(yǔ)的受害者。:p)</FONT></P>% N1 j, L' v; T1 E$ G' I: O' P
<P><FONT color=#0000ff>類群</FONT>就是由一些彼此<FONT color=#0000ff>互不相關(guān)</FONT>的類和類族組成的一組類。</P>0 B) d6 N$ |# T3 f( u
<P><FONT color=#0000ff>類樹(shù)</FONT>就是一組類中所有的類不管它們之間的差別有多大,他們都有一個(gè)<FONT color=#0000ff>共同的相關(guān)類</FONT>(基類),這種類的結(jié)構(gòu)就稱為類樹(shù)。</P> |