怎么加强面向对象编程思想

如何加强面向对象编程思想
看C++ primer书上面向对象编程,书上有个小程序。
假设不看书让我自己编的话,就用c写函数实现了。
课本上那种面向对象的思想不是很习惯,怎么熟练运用这种方法?

------解决方案--------------------
如果你要做的程序的对象结构已经复杂到不得不去专门分析的时候,你不想面向对象也不行了。当一个过程中一个对象频繁地出现的时候,人自然会去想归纳它。

不过面向对象想搞好的话,最好还是找点书看看。
------解决方案--------------------
软件工程这本书,你看看吧
------解决方案--------------------
写足够复杂的东西,让你能感觉到面向过程很繁杂的
------解决方案--------------------
尽管我们都是从OOP发展而来,事实上,真正的面向对象来自于OOD。没有OOD的过程,就无法真正的面向对象。

书上那些小例子只不过是在展示“如何OOP”的手段,也就是在告诉大家“面向对象的语言有哪些特点”,而并没有回答“什么是面向对象”以及“为什么要面向对象”。

事实上,这种小程序永远也不能体现出“为什么要面向对象”。面向对象与传统的面向功能与面向数据的开发相比,最大的优势在于业务逻辑的可重用性。传统的开发最容易重用的是数据结构和底层代码,而上面的调用代码则很难重用,而面向对象则专注于如何另维护了业务逻辑的调用代码更容易地被其它项目或是后继项目使用。

同时,面向对象的开发也有利于提高可移植性。我前面说过,传统的开发成果越是底层的代码可重用性就越高,但如果牵涉到大量OS相关的内容时——比如GUI,则越是底层的调用就越难以移植,这就形成了一个矛盾。而面向对象的方法解决了调用代码的可重用性,也就顺带提高了代码的可移植性。