<P>所谓<FONT color=#0000ff>面向对象的设计</FONT>就是指通过<FONT color=#0000ff>建立一些类以及它们之间的关系</FONT>来<FONT color=#0000ff>解决实际问题</FONT>(类及关系解问题)。</P>
/ `* l+ B) c- a! ~<P>面向对象的设计就是要学会用"<FONT color=#0000ff>类</FONT>"来思考问题,首先要想到程序要处理的是什么而不是它要完成什么功能。</P>
( M) H. j% D9 X Y5 K' K8 K<P><FONT color=#0000ff>确定类有一些原则</FONT>,首先是从问题中归纳出需要描述的概念或实体,从这些概念和实体出发去建立相应的类。(如要建立一个家庭书库,则这里可以归纳出一个描述书的类)</P>5 q* \. i7 X* b: F+ r; _! r+ T5 P+ m
<P>这些原则中很<FONT face=黑体 color=#ff0000>重要</FONT>的是应当<FONT color=#ff0000>尽量使类小而简单</FONT>,使它能够被一般的程序员所理解,因为小而简单的类<FONT color=#ff0000>容易实现</FONT>,如果想设计一个面面俱到的类,往往会使类太复杂而无法使用,要记住,<FONT face=黑体 color=#ff0000>类是要拿来用的,而且必须易于使用</FONT>。如果要考虑复杂的概念,可以从简单的概念开始设计出简单的类,再通过一个类族来实现它。 </P>
* o4 a# |2 q, j<P>还有一个原则就是要<FONT face=黑体 color=#ff0000>充分利用封装</FONT>来增加类的可靠性。类中的<FONT color=#0000ff>封装</FONT>可以使类不依赖与具体的环境,这就使类代码可以重用并运用于其他情况。同时,数据封装也严格限制了对类中数据成员的访问,这可以保证程序的运行更加可靠。 </P>
8 C) w* Y$ S! K7 ~1 a& d<P>其他就是通过建立<FONT color=#0000ff>类族</FONT>来使多态性有用武之地;设计方案要经过实际测试才可定型。 </P>/ B* {. v; z0 V3 V/ q
<P>面向对象的设计方法有:<FONT color=#0000ff>自顶向下</FONT>的设计方法、<FONT color=#0000ff>自底向上</FONT>的设计方法以及<FONT color=#0000ff>一般的面向对象的设计方法</FONT>,这是综合了上述两种方法,使建立的类树具有合理的层次结构,从而使应付错误的能力大增强。</P>
8 Q( E2 c% l! ]6 g% R3 _6 _<P><FONT color=#666666>(看看教材,感觉好象是东方快车翻译出来的汉化文章,越到后面越是。我觉得自己成了汉语的受害者。:p)</FONT></P>
4 @# Z8 r( Z" x2 h7 Z8 ]<P><FONT color=#0000ff>类群</FONT>就是由一些彼此<FONT color=#0000ff>互不相关</FONT>的类和类族组成的一组类。</P>
5 U5 L# L {5 u& m: `<P><FONT color=#0000ff>类树</FONT>就是一组类中所有的类不管它们之间的差别有多大,他们都有一个<FONT color=#0000ff>共同的相关类</FONT>(基类),这种类的结构就称为类树。</P> |