面向对象我悟了

常说C语言是面向过程的,Java是面向对象的,但对面向对象的理解似乎仅仅停留在类是对象的抽象,对象是类的实例这个概念中,即使用了JAVA语言在编程时还是按照步骤一步一步来写。这并不是真的面向对象。

什么是面向过程

面向过程的开发,就像是把大象放入冰箱一共需要三步一样。

  1. 打开冰箱门
  2. 放进大象
  3. 关上冰箱门

按部就班的做就可以。

什么是面向对象

面向对象的开发,考虑的是实体之间发生的事情。
仍然拿把大象放入冰箱为例的话,首先分解实体,再考虑会发生的事情。

  1. 分解实体:人、冰箱、大象
  2. 发生的事情:打开冰箱门、拿大象、放大象、关闭冰箱门

问题升级

但生活中问题并不是都如此简单,当问题升级,比如说一个人回家把大象放冰箱,另一个人回家把兔子放进冰箱,把大象拿出来。
如果用面向过程的方法,可以实现但是代码很冗余。
而用面向对象的方法,

  1. 分解实体:人、门、冰箱、大象、兔子
  2. 归类实体:人、设备、东西
  3. 发生的事情:打开设备、关闭设备、拿起东西、放下东西

很清楚,无论是门、冰箱、空调、洗衣机,我们都可以通过设备类new出来
大象、兔子、苹果、梨也可以通过东西类new出来
这样,以后问题再复杂也能够很轻松的实现它。

面向过程和面向对象的区别

在这里插入图片描述
在编程时,多考虑一点,如果还想放其他东西进冰箱呢,这一步大概就是抽象吧。
此处贴个链接,感觉把面向过程和面向对象说的很清楚
https://www.zhihu.com/question/27468564/answer/757537214

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值