面向过程和面向对象的区别–【形象比喻说明】

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 面向过程和面向对象的区别–【形象比喻说明】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    初学编程语言,我们知道:C语言是面向过程的,C++是一半面向过程,一半面向对象,java是面向对象的,那么”面向对象“和”面向过程“这两个概念的根本区别是啥呢?

面向过程和面向对象的枯燥定义

========================
以下定义看一遍留点印象就好:
在这里插入图片描述
面向过程:
    面向过程注重实现这个功能的步骤,第一步干什么、第二步干什么……,也注重实现这个功能的因果关系,因为A,所以B……

面向对象:
    面向对象就是将现实世界分割成不同的单元,然后每一个单元都实现成对象,再给个环境驱动一下,让各个对象之间协作起来形成一个系统。举个栗子,这里有对象”张三“、”对象香烟“、对象”打火机“、对象“吸烟的场所”,组装这四个对象,就可以模拟一个人抽烟的场景。
在这里插入图片描述

形象比喻案例一

========================
    以蛋炒饭和盖饭为例,蛋炒饭就是面向过程,盖饭就是面向对象,且看下面的分析。

    蛋炒饭,鸡蛋和米完全混在一起,若我要吃蛋炒饭,但在老板做好端上来的时候我说我只要米饭不要蛋,那么这个时候就只能把鸡蛋一粒粒挑出来。(类比客户在已交付的软件里提出新需求,此时软件的扩展就是一场噩梦)
在这里插入图片描述

    再来看看鱼香肉丝盖饭,鱼香肉丝是一个独立的对象,饭是一个独立的对象,两个对象准备好以后,加动作”盖“(即上面面向对象概念中所说的驱动),两个对象就组合在一起了。此时客户提出要吃西红柿鸡蛋盖饭,就很好完成,将对象”鱼香肉丝“换成对象”西红柿鸡蛋“即可。对应在程序开发中即”扩展性好“。

形象比喻案例二

========================
    如果我们分别采用面向过程和面向对象的思路去制造一台计算机,那会有何不同呢?

    首先来看以面向过程的方式来制造这台计算机—>制造出了一台融合在一起的、没有零部件的、实心的一体机,任一”部位“出问题,整个计算机都有可能不能使用,而要修这个部位,也是不容易修(耦合性高)。

    再来看以面向对象的过程制造—>内存条是一个对象、主板、CPU、硬盘分别是一个个对象,组装这些对象,形成一台计算机,若其中CPU损坏了,则直接拆下来更换一个新的即可(耦合性低)。

    耦合性这块的概念,以”集成显卡“和”独立显卡“来理解可能更容易想明白。

       

面向过程和面向对象的优缺点

========================
    看完上面两个形象的栗子,相信总结二者的优缺点已不再困难。

    面向过程:
    缺点是代码之间耦合度太高,扩展力差。优点是对于小型项目,采用面向过程来开发,效率较高,不需要像面向对象一样进行前期的对象提取、模型的建立等等,进工地就可以直接开始干活儿。


    面向对象:
    优点是代码之间耦合度低,扩展能力强,如鱼香肉丝盖饭换西红柿鸡蛋盖饭,模拟抽烟场景中,对象”打火机“换对象”钻木取火“就是模拟钻木取火抽烟的场景。额缺点自然就是上面说的面向过程的优点了。

    希望这篇文章能对你理解面向过程开发和面向对象开发这一概念有所帮助。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/146211.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!