• C语言学习系列(二)面向过程和面向对象


    一、基本定义

    (一)、面向过程(procedure oriented programming POP)

      面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用则可。

    (二)、面向对象(object oriented programming OOP)

      面向对象是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为

    二、通俗理解面向过程和面向对象区别

    知乎上面经典的答案(一):

    • 面向过程是编年史
    • 面向对象是纪传史

    经典答案(二)如何大象装进冰箱?

    面向过程:

      为了把大象装进冰箱,需要3个过程。
        1) 把冰箱门打开(得到打开门的冰箱)
        2) 把大象装进去(打开门后,得到里面装着大象的冰箱)
        3) 把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)
      每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。

    面向对象:  

      为了把大象装进冰箱,需要做三个动作(或者叫行为)。
      每个动作有一个执行者,它就是对象。
        1) 冰箱,你给我把门打开
        2) 冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)
        3) 冰箱,你给我把门关上
      依次做这些动作,就能把大象装进冰箱。

    三、应试答案

    前面的经典答案都是供我们去理解这个区别,可到了应试环节(面试、笔试、考试),这些东西肯定上不了台面,就需要我们系统全面的回答。

    (一)、思想上的区别

    面向过程:

    是一种以过程为中心的编程思想。强调流程化、线性化、步骤化的思考方式

    面向对象:

    是软件开发方法和编程思想。首先强调整体性和差异性,即可将任何事物看作一个有机统一整体来研究,然后通过派生的方式实现差异性来降低高耦合和可能性;其次强调行为的多样性和多态性,然后强调高度可拓展性,由此也说明了面向对象的四个基本特征:抽象、封装、继承、多态。

    (二)、各自的优缺点

    面向过程

    1. 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素;
    2. 缺点:没有面向对象易维护、易复用、易拓展。

    面向对象

    1. 优点:易维护、易复用、易拓展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护;
    2. 缺点:性能比面向过程低。

            if ( U.read(me.Blog) ) $("#推荐").click();
            if ( U.copy(me.Blog) ) $("#u Blog").console("原文链接:http://www.cnblogs.com/Grand-Jon/p/7404917.html ");
            else me.Fuck(U);
  • 相关阅读:
    PhoneGap在Mac环境下使用问题小结
    HTML5跨平台开发环境配置
    Delphi编写下载程序:UrlDownloadToFile的进度提示
    DELPHI中调用XSD去验证XML的合法性
    防止Form中嵌入WebBrowser出错导致程序崩溃
    Dynamics CRM:“the given key was not present in the dictionary”
    Dynamics CRM 2016 + Visual studio 2015 开发环境搭建
    IIS Recycling设定
    Dynamics CRM和数据挖掘
    客户才是关键
  • 原文地址:https://www.cnblogs.com/Grand-Jon/p/7404917.html
Copyright © 2020-2023  润新知