面向过程与面向对象
好像没有什么不一样
我的入门语言是C语言,经典的面向过程语言,用C语言做了一年多的ACM,用的不是炉火纯青,也算是得心应手了。ACM对于程序的时间、空间要求很高,而且算法要求的是解决问题的方法,所以接触程序的思想就是面向过程,算法的思考专注于细节的处理,将一些细节转化为几何,数学,找出更加高效的算法。也可能是因为我研究还不够深,道行不够的缘故,对于算法的思考也仅限于此。到了大二上学期开始学习C++,面向对象,当时感觉自己好牛的样子= =,现在想想真是好笑。
C++的学习完,让我感觉面向对象就是比面向过程的C语言多了类的概念- -~。。。。。。
这个学期开始学习JAVA。我现在也是刚刚开始学习JAVA,我本着学语言先学思想的想法,开始研究面向对象区别到底有多大的不同。然后开始看各种大神们的相关博客。。。。有了自己模糊的理解。
面向过程,过程指的是什么? 解决一个问题,需要的每一个步骤,这个就是过程,每一个步骤,紧密相连,逻辑通顺,这个问题解决了,这就是我现阶段理解的面向过程。
用面向对象的思想解决问题,不是去考虑需要什么步骤去解决问题,而是先考虑谁去解决问题。
举个例子:一个班里要发书了,面向过程想的是:怎么领书,怎么发书;面向对象想的是:得有班主任,得有班长。然后让班主任领书,班主任通知班长,班长发书。
看起来感觉差不多,面向过程更加直接点。面向对象感觉实现起来更加繁琐点,面向对象的方法让这个问题更加清晰,分工更加明确,后期维护更加方便。这就是现阶段的我所认知到的面向对象与面向过程的区别。
也是看了大神们的相关博文有感而发,大神们求教导。。。。