面向对象,是一个伟大的设计思想,应该是软件开发史上的一次革命。
当然理解面向对象也很难,有好多人用着面向对象的语言,写着面向过程的逻辑,而且一写就是好多年。但是有高手,用c照样可以写出很牛的面向对象的程序。面向对象其实是一种思考问题的方式,重点如下:
- 面向对象是用来反映显示世界的,而不是强行创造世界。
- 这句话,说起来简单,但是做起来很难。现实世界中你绝对不会把狗腿,按在一个人身上,但是写程序的时候,你常常会创造出一个狗腿人。
- 有人还会创造一些一些稀奇古怪的万能类,或者融合了n种物种的怪物。或者只有一条腿的狗。
- 一定要记住,只有反映显示的才是长久的。
- 是我的就是我的,不是我的就不是,不增不减。
- 有时候有些属性,或者方法,不知道该如何放就随便放在一个类里,这就大错特错。
- 真正的对象是有血有肉的,而不是只有一堆属性,或者只有一堆方法的怪物。
- 按照现实世界的关系安排对象之间的交互。
怎样锻炼你的面向对象思考能力,很简单,每天把和你产生交互的人和物,写成代码,让他们和你的交互变成方法的调用。例如今天你坐车去了超市,买了一堆东西。抽象出 car,person,market,goods,cash 等等,用代码实现他。
设计模式的确是很好的,它们是前人给我们总结了的一些秘诀,这是国人最喜欢的了,对吧,所以记住什么时候使用他们。
有了上面的知识,就可以思考如何有一套自己的设计开发思路了。做任何事,都有一套最适合自己的方法,你要试着摸索出来,并固化到你的血液里。比如现在给你一个项目,做一套简单的进销存系统,需要你设计出来,并进行编码,你会怎么办?
想一想?有很多种方式去进行设计,但是你总得有你的一套,所以你自己总结吧,我不会把我的秘诀告诉你的。