<P>所谓<FONT color=#0000ff>面向对象的设计</FONT>就是指通过<FONT color=#0000ff>建立一些类以及它们之间的关系</FONT>来<FONT color=#0000ff>解决实际问题</FONT>(类及关系解问题)。</P>. W0 N. z* W9 ~8 l1 U, n
<P>面向对象的设计就是要学会用"<FONT color=#0000ff>类</FONT>"来思考问题,首先要想到程序要处理的是什么而不是它要完成什么功能。</P>
" V) W! B. x& o# \/ S# j2 x/ E<P><FONT color=#0000ff>确定类有一些原则</FONT>,首先是从问题中归纳出需要描述的概念或实体,从这些概念和实体出发去建立相应的类。(如要建立一个家庭书库,则这里可以归纳出一个描述书的类)</P>
, ^) v4 H: C3 W2 g; y8 Y2 T<P>这些原则中很<FONT face=黑体 color=#ff0000>重要</FONT>的是应当<FONT color=#ff0000>尽量使类小而简单</FONT>,使它能够被一般的程序员所理解,因为小而简单的类<FONT color=#ff0000>容易实现</FONT>,如果想设计一个面面俱到的类,往往会使类太复杂而无法使用,要记住,<FONT face=黑体 color=#ff0000>类是要拿来用的,而且必须易于使用</FONT>。如果要考虑复杂的概念,可以从简单的概念开始设计出简单的类,再通过一个类族来实现它。 </P>
- h+ F2 d1 k2 X; F<P>还有一个原则就是要<FONT face=黑体 color=#ff0000>充分利用封装</FONT>来增加类的可靠性。类中的<FONT color=#0000ff>封装</FONT>可以使类不依赖与具体的环境,这就使类代码可以重用并运用于其他情况。同时,数据封装也严格限制了对类中数据成员的访问,这可以保证程序的运行更加可靠。 </P>4 k8 l6 _1 e0 j9 {
<P>其他就是通过建立<FONT color=#0000ff>类族</FONT>来使多态性有用武之地;设计方案要经过实际测试才可定型。 </P>
5 n7 ~/ T6 N/ f: ~<P>面向对象的设计方法有:<FONT color=#0000ff>自顶向下</FONT>的设计方法、<FONT color=#0000ff>自底向上</FONT>的设计方法以及<FONT color=#0000ff>一般的面向对象的设计方法</FONT>,这是综合了上述两种方法,使建立的类树具有合理的层次结构,从而使应付错误的能力大增强。</P>
: s* H+ ] h5 E" C; h<P><FONT color=#666666>(看看教材,感觉好象是东方快车翻译出来的汉化文章,越到后面越是。我觉得自己成了汉语的受害者。:p)</FONT></P>
, U/ O6 F2 h6 T<P><FONT color=#0000ff>类群</FONT>就是由一些彼此<FONT color=#0000ff>互不相关</FONT>的类和类族组成的一组类。</P>$ f- F$ w/ T) G; U7 h" g4 o- [: p5 g: Q
<P><FONT color=#0000ff>类树</FONT>就是一组类中所有的类不管它们之间的差别有多大,他们都有一个<FONT color=#0000ff>共同的相关类</FONT>(基类),这种类的结构就称为类树。</P> |