面向对象和面向过程

脱离java的逻辑世界,回归到现实中,我们发现:其实对于任何事情,解决都只有两种方式,即亲历亲为别人帮忙解决。

就比如: 自己身为一个苦逼的码农,晚上下班,带着疲倦的身躯,一摸肚子,还没吃饭呢。。。
这时,就可以通过三种常见的方式来填饱肚子:

  • 下馆子
  • 外卖
  • 自己做

下馆子和外卖就是会比较方便,省事,但是并不知道做饭的过程,比如干不干净,这对我是不透明的。

买菜自己做的话就相比另外两种麻烦,要买菜、洗菜、炒菜等等。

下馆子和外卖就类似一种面向过程的方式,即让别人来帮你解决问题,这中间的过程对于我们是未知的。
买菜就类似于面向过程的方式,即自己亲历亲为,经历吃饭的每个过程。

这就是现实中的面向对象和面向过程的一个实例。

官方总结一下(咳咳):

什么是面向过程:
面向过程是解决问题的一种思想,当我们在解决问题时,会按照预先设定的想法和步骤,一步步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。
通过上面简单的描述发现,面向过程,其实就是面向着具体的每一个步骤和过程,就是面对具体的每一个功能函数。这些功能函数相互调用,完成需求。

什么是面向对象:
当不再面对具体的每一个方法时,发现操作也变的简单了很多。而封装具体功能的这个类,是我们需要面对的。而基于这个封装了具体功能的类,那怎么使用呢?
当面向封装了具体功能类,若要使用这个类,一般情况下,在java中需要通过创建这个类的实体来使用,这个实体称之为对象。在开发中,我们是在不断的找封装不同功能的类。基于这些类,创建其对象,使用这些对象完成相应的操作。
通过上面的简单讲解,可以分析出:面向对象是基于面向过程,对象是将功能进行了封装。只要找到了具体的类,创建出对象,就可以调用其中的具体功能。面向对象也是用来解决问题的一种思维模式。

以上就是面向过程和面向对象的总结。

回到吃饭,继续思考一下

如果我晚上去下馆子,但是今天这个馆子的师傅也累了,不想做饭,那么他也效仿我一样,从隔壁的食堂买现成的饭,但是隔壁食堂的师傅也不想做饭,找其他的馆子买饭,那这样一直面向对象传递下去,会陷入死循环,到最终,问题也不会被解决。

所以可以发现,面向对象和面向过程这两种解决问题的方式并不是互斥的, 因为事情无论是自己做 还是要别人做 最终都要被处理(过程),即面向过程是最基本的思想,而面向对象是面向过程之上的一种优化方式。

那了解到了面向对象和面向过程的思想,那假如面试官提问:什么是面向对象?

答:

  • 记住,首先并不要去说“万物皆对象”,这相当于解释猫就是咪一样,说了和没说一样。
  • 你可以先说你理解的面向对象和面向过程的不同,可以用上面吃饭的例子来描述,下来就可以围绕面试官进行讲解:
    其实面试官您就是按照面向对象的思想在思考问题,面试官您本身的实力就可以开发很多项目,但是可能项目比较大,您一个人开发时间会比较长,为了提高效率,需要有更多的具备专业开发能力的人来帮助您做事情,这个人就是您所需的对象,只要调用这些对象的开发功能就可以完成项目,只要指挥他们做事情就可以了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值