面向对象的思想:面向对象是软件开发出现以来最伟大的创新之一,这是每个程序员都追求的,但是否真正掌握了面向对象的思想,这是需要探讨的。面向对象并不受开发工具和语言的限制。很多程序员在用C++写面向对象的代码时候,实际上还是在写C代码。甚至使用C#这种完全面向对象的语言写出来的还是流程化的程序。
很多时候学习面向对象用屏幕上画图的方法,新的形状可以从标准的形状中转化而来,用来学习继承的概念。但廖恒毅认为这远远不够,因为屏幕上对象相互之间是独立的,是没有作用的离散关系。要真正学习面向对象,就要去学画表格。表格是由行组成的,同时也是由列组成的,行中又有独立的单元格组成。作为一个行,要整体去操作这些格,做为列,也要去操作这些格,到底是以行为单位还是以列为单位去操作单元格。如果能把这个搞清楚,那才表明你对面向对象理解的够深刻。廖恒毅笑着说:“有的程序员在程序中把所有的东西都继承到一起,爷爷动的时候,孙子跟着跳,孙子动的时候,爷爷跟着晃。实际上,写面向对象的代码,一定不要用太多的继承。最关键的是如何传递消息和产生动作,以及考虑各个模块之间通过什么接口来联系,而不是再继承。”