面向对象和面向过程

在官方的解释里面,面向对象是

面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和
方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

面向对象将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

 

在软件业发展的初期,程序编写都是以算法为核心的,程序员会把数据和过程分别作为
独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种
思维方式直接站在计算机的角度去抽象问题和解决问题,被称为面向过程的编程思想。
与此相对,面向对象的编程思想则站在现实世界的角度去抽象和解决问题,它把数据和
行为都看作对象的一部分,这样可以让程序员能以符合现实世界的思维方式来编写和组
织程序。面向对象的编程思想极大地提升了现代软件开发的效率和软件可以达到的规模,
但是现实世界与计算机世界之间不可避免地存在一些差异。例如,人们很难想象现实中
的对象在一项工作进行期间,会被不停地中断和切换,对象的属性(数据)可能会在中
断期间被修改和变脏,而这些事件在计算机世界中是再普通不过的事情。

面向过程:

一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。
与面向对象明显的不同就是封装、继承、类。

 

所以当面试官问到如何理解Java是面向对象的语言,我个人的想法就是应该跟面向过程相比。

面向对象将对象作为程序的基本单元,将程序和数据封装其中。使程序员能够不用过多注意程序内部的细节而去使用它。与面向过程不同,面向过程是以过程为中心的思想。以正在发生为主要目标进行编程,以算法为核心,程序员会把数据和过程分别作为独立的部分来考虑,这是站在计算机的角度去抽象和解决问题。与此相对,面向对象的编程思想则站在现实世界的角度去抽象和解决问题,它把数据和行为都看作对象的一部分,这样可以让程序员能以符合现实世界的思维方式来编写和组织程序。面向对象的编程思想极大地提升了现代软件开发的效率和软件可以达到的规模。面向对象的语言的特点是封装、继承和多态,能够使代码解耦合,用更短的代码来实现相同的逻辑。

posted @ 2020-10-28 11:25  拿着放大镜看世界  阅读(128)  评论(0编辑  收藏  举报