在我们的编程生涯中,不得不面对两种编程思想oop与pop。
啥是oop?
面向对象程序设计(Object Oriented Programming) 作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。
啥是pop?
“面向过程”(Procedure Oriented) 是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。简写为POP。
两者区别
1、 面向过程 是 以过程为中心 的编程思想, 着重于做什么 ; 面向对象 是 以事物为中心 的编程思想, 着重于谁来做 。
2、 面向过程适合小项目,它的执行效率高 ,毕竟是从上到下,有前后顺序依次执行,过程相对来说简单干脆, 不过程序拓展性不好,维护成本较高(通过缓存、静态化可以解决面向过程编程的执行效率问题) ; 面向对象适合中大型项目, 它的执行过程可谓曲折,总是爱 new个对象再去实现 ,即便如此,它的 继承,封装,多态 的特性,使得 程序易拓展易维护 。
经典例子之把大象装进冰箱
比如,以“ 把大象装进冰箱 ”举例。
面向过程实现
面向过程实现有 三个步骤 :
1、打开冰箱门
2、把大象装进去
3、关上冰箱门
这就是典型的分析出问题所需的步骤,然后用函数将这些步骤一步一步的实现,使用的时候在一个一个的依次调用就可以了。
可以看出, 面向过程编程关注的主体是过程、步骤。
面向对象实现
面向对象实现也是 三个步骤 :
1、先找出对象,大象对象和冰箱对象
2、分析对象的功能
大象对象:大象走进冰箱
冰箱对象:冰箱门打开和关闭
3、使用大象和冰箱对象的功能,冰箱执行冰箱开门功能,然后大象执行大象走进冰箱功能,最后冰箱执行关闭冰箱功能。
可以看出, 面向对象编程关注的主体是事物、对象。
另外,在面向对象的编程中, 万物皆可对象 。 面向对象的 方法主要是把事物给对象化 ,包括其属性和行为。面向对象编程 更贴近实际生活 的思想。
总体来说 面向对象的底层还是面向过程 ,面向过程 抽象成类,然后封装,方便使用 就是面向对象,这也就解释了,为什么上面 面向对象与面向过程的实现 有这么多 相似之处,殊途同归。
评论 (0)