面向对象

1 篇文章 0 订阅
1 篇文章 0 订阅

1. 什么是面向对象?

2. 什么是面向过程?

3. 面向对象和面向过程有什么联系和区别?

ps:以上问题经常在面试中被问到,下面,就个人理解以大白话简单做个介绍,不到之处望指正。

 

举例子说明:

今天午餐你想吃湖南菜,辣椒炒肉。

面向过程 做法:【亲力亲为】 买辣椒、肉,洗菜,切菜,下锅翻炒,出锅。

面向对象 做法 【指挥别人】 老婆,我想吃辣椒炒肉,然后,老婆去买辣椒、肉,洗菜,切菜,下锅翻炒,出锅。

菜做好了,突然不想吃辣椒炒肉,想吃酸菜鱼。

面向过程 做法:【亲力亲为】 再去买酸菜、鱼,洗菜,切菜,下锅翻炒,出锅。

面向对象 做法: 【指挥别人】 老婆,我不想吃辣椒炒肉,想吃酸菜鱼,然后,老婆又出门去买酸菜、鱼,洗菜,切菜,下锅翻炒,出锅。

当你换菜的时候,如果是 面向过程 的做法,又得重新再来一遍,你很累。

而 面向对象 的做法,只需要跟老婆说一声即可,你全程很轻松。

本质上,事情都有人在做,面向过程,亲力亲为,面向对象 是在 面向过程的基础上,加了一层,让别人去做。

换句话说,面向对象 是在 面向过程的基础上进行抽象、封装后的结果。

面向过程:具体化,流程化,一步步分析问题,一步步解决问题;

面向对象:模块化,抽象封装成类,让各个对象去解决问题。它的底层还是面向过程的。

 

再举个例子:

某天,曹操打了胜仗,诗兴大发,在庆功宴上道:“喝酒唱歌,人生真爽”,饭后,文官去一个字一个字印刷记录了下来。

第二天,曹操觉得昨天的诗得改改,命文官改成:“对酒当歌,人生真爽”,当时,还没有活字印刷,文官又得去一个字一个字印刷。

第三天,曹操又喊来文官,让他改成:“对酒当歌,人生几何”,此时,曹操非常满意。文官又得去一个字一个字印刷。

通过上面的例子发现,每次更改,文官都需要去把文字一个个重新印一遍。这种就是面向过程的做法,不易维护,也不能复用。

当活字印刷出现后,第一次文官印刷出后,第二次改的时候,不用再全部重新印刷,大部分可以复用,只需要改对酒2个字即可。

第三次要求修改时,再第二次的基础上,只需要把 真爽 改成几何 即可。当然活字印刷,也可以重新排版,灵活性好,易维护,也可以复用。

实际上,活字印刷 有 面向对象 的优点。

【面向过程】         【面向对象】  

 不易维护                 易维护

  不可复用                可复用 

  不可扩展                可扩展

  灵活性不高            灵活性高

 

先讲到这,有时间在补充。

      

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值