4.1 面向过程和面向对象
-
面向过程:多过程,按照步骤一步一步进行。
比如,如何开车?我们很容易就列出实现步骤:
1.发动车 2. 挂挡 3.踩油门 4. 走你 -
面向对象:多协作。比如,面向对象思想思考造车,发现车由如下对象组成:
1.轮胎 2.发动机 3.车壳 4.座椅 5.挡风玻璃
为了便于协作,我们找轮胎厂完成制造轮胎的步骤,发动机厂完成制造发动机的步骤;这样,发现大家可以同时进行车的制造,最终进行组装,大大提高了效率。 -
二者关系:相辅相成的。面向对象离不开面向过程!
面向对象可以帮助我们从宏观上把握、从整体上分析整个系统。 但是,具体到实现部分的微观操作(就是一个个方法),仍然需要面向过程的思路去处理。
一个经典的比喻:面向对象是盖浇饭、面向过程是蛋炒饭。盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低。 -
总结:
都是解决问题的思维方式,都是代码组织的方式。
解决简单问题可以使用面向过程
解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。