最近在学C++和MFC。尽管语法学了不少,但似乎在理解“面向对象”的思想时仍然感到茫然。用个具体的例子来说吧!比如我想做一个类似于“写字板”(不是“记事本”)那样的软件,记事板是可以设置不同的字体、字号和颜色的,那么我是不是应该创建一个“字”对象?每个字对象包括该字的内码、字体、字号、颜色等属性?是不是还应该设一个“段落”对象?那么段落对象和字对象是什么关系呢?我们知道,实际情况是:一个段落包含很多字,但这并不是继承的关系。而且是包含关系。那么是不是这样:一个段落对象里面,有描述整个段落的属性比如字间距、行间距等等,同时也包含很多字对象。但是问题来了,一个段落的字数可能是变化的,如何动态地改变一个段落对象中字对象的数量?也许,字对象和段落对象都可以有“显示”这样一个行为,是吗?段落的显示由一个个字对象的显示组成,但是每个字对象显示的具体位置又如何处理?很复杂很复杂,如果是面向过程的C语言,这些问题都好解决。靠程序员的技巧就是了,各人的处理方法可能不同。但都是可以达到目的的,但面向对象,好象就困惑了。