<P>所谓<FONT color=#0000ff>面向对象的设计</FONT>就是指通过<FONT color=#0000ff>建立一些类以及它们之间的关系</FONT>来<FONT color=#0000ff>解决实际问题</FONT>(类及关系解问题)。</P>
; v" C5 ~' e/ e# f; w9 H: f<P>面向对象的设计就是要学会用"<FONT color=#0000ff>类</FONT>"来思考问题,首先要想到程序要处理的是什么而不是它要完成什么功能。</P>7 t7 z4 [( a& B2 i6 p/ d: D
<P><FONT color=#0000ff>确定类有一些原则</FONT>,首先是从问题中归纳出需要描述的概念或实体,从这些概念和实体出发去建立相应的类。(如要建立一个家庭书库,则这里可以归纳出一个描述书的类)</P>" q8 {9 `/ J( J; s4 n
<P>这些原则中很<FONT face=黑体 color=#ff0000>重要</FONT>的是应当<FONT color=#ff0000>尽量使类小而简单</FONT>,使它能够被一般的程序员所理解,因为小而简单的类<FONT color=#ff0000>容易实现</FONT>,如果想设计一个面面俱到的类,往往会使类太复杂而无法使用,要记住,<FONT face=黑体 color=#ff0000>类是要拿来用的,而且必须易于使用</FONT>。如果要考虑复杂的概念,可以从简单的概念开始设计出简单的类,再通过一个类族来实现它。 </P>
/ h6 k' G" W& ?$ |' x<P>还有一个原则就是要<FONT face=黑体 color=#ff0000>充分利用封装</FONT>来增加类的可靠性。类中的<FONT color=#0000ff>封装</FONT>可以使类不依赖与具体的环境,这就使类代码可以重用并运用于其他情况。同时,数据封装也严格限制了对类中数据成员的访问,这可以保证程序的运行更加可靠。 </P>% k: x3 c# u3 M
<P>其他就是通过建立<FONT color=#0000ff>类族</FONT>来使多态性有用武之地;设计方案要经过实际测试才可定型。 </P>
) K! u* u7 P# l* s0 u t<P>面向对象的设计方法有:<FONT color=#0000ff>自顶向下</FONT>的设计方法、<FONT color=#0000ff>自底向上</FONT>的设计方法以及<FONT color=#0000ff>一般的面向对象的设计方法</FONT>,这是综合了上述两种方法,使建立的类树具有合理的层次结构,从而使应付错误的能力大增强。</P>
3 e7 P5 W! s( F6 c<P><FONT color=#666666>(看看教材,感觉好象是东方快车翻译出来的汉化文章,越到后面越是。我觉得自己成了汉语的受害者。:p)</FONT></P>0 [, l3 \7 j1 }
<P><FONT color=#0000ff>类群</FONT>就是由一些彼此<FONT color=#0000ff>互不相关</FONT>的类和类族组成的一组类。</P>- w( x+ V% d! K2 H
<P><FONT color=#0000ff>类树</FONT>就是一组类中所有的类不管它们之间的差别有多大,他们都有一个<FONT color=#0000ff>共同的相关类</FONT>(基类),这种类的结构就称为类树。</P> |