何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。
一.面向过程
面向过程就是面向解决问题的过程进行编程。当我们去实现某项功能或完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事情?(如果没有,建议以后试着步骤化解决问题)。而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题就是面向过程。
面向过程的编程思想总结起来就8个字:自顶向下,逐步细化
1.将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程);
2.依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步骤再次细化为若干个子步骤,以此类推,一直到结束得到想要的结果;
3.程序的主体是函数,一个函数就是一个封装起来的模块,可以实现一定的功能,各个子步骤往往就是通过各个函数来完成的,从而实现代码的重用和模块化编程!
二.面向对象
所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通过调用这些实体的属性和方法去解决问题
在模拟现实世界中,计算机的编程语言在解决相关业务逻辑的方式,与真实的业务逻辑的发生保持一致!需要使每一个动作的背后都一个完成这个动作的实体!
因为任何功能的实现都是依赖于一个具体的实体的“动作|操作|行动”,可以看作是一个又一个的实体在发挥其各自的“能力”并在内部进行协调有序的调用过程!
面向对象的思想解决问题,步骤:
1.分析哪些动作是由哪些实体发出的;
2.定义这些实体,为其增加相应的属性和功能;
3.让实体去执行相应的功能或动作。
三、面向对象和面向过程的比较
1.都可以实现代码重用和模块化编程,但是面对对象的模块化更深,数据更封闭,也更安全!因为面向对象的封装性更强!
2.面对对象的思维方式更加贴近于现实生活,更容易解决大型的复杂的业务逻辑。
3.从前期开发角度上来看,面对对象远比面向过程要复杂,但是从维护和扩展功能的角度上来看,面对对象远比面向过程要简单! |
|