比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /面向对象编程与过程式编程的区别

面向对象编程与过程式编程的区别

2011年4月19日发布的罗山Ragel

面向对象编程vs过程式编程

面向对象编程(OOP)和过程式编程是两种编程范式。编程范式是计算机编程的一种基本风格,它们的不同之处在于程序的不同元素的表示方式以及如何定义解决问题的步骤。顾名思义,OOP专注于使用现实世界的对象及其行为来表示问题,而过程编程则使用过程来表示问题的解决方案,过程是按特定顺序运行的代码集合。有些编程语言支持面向对象的关键方面(称为面向对象语言),有些编程语言支持过程语言(称为过程语言),或者两者都支持。但需要注意的重要一点是,面向对象(OOP)和过程(Procedural)是表示待解决问题的两种方式,与使用哪种语言无关。换句话说,面向对象编程语言可以用于过程编程,而过程语言有时也可以用于面向对象编程,这需要一些努力。

过程式编程是一种通过确定解决某一问题的步骤集以及为达到预期结果或状态应执行这些步骤的确切顺序来进行编程的方法。例如,如果您想计算一个银行账户的月末结余,那么所需的步骤如下所示。首先,您获得帐户的初始余额,然后减少当月发生的所有借方金额。之后,将当月发生的所有信用额度相加。在这个过程的最后,你会得到月末结余的帐户。过程编程的一个主要概念是过程调用。一个过程也被称为子程序、方法或函数,包含要执行的指令的有序列表。过程可以在执行期间的任何时间由任何其他过程调用或由它自己调用。过程性编程语言的例子是C和Pascal。

在OOP中,重点是根据现实世界的元素来思考要解决的问题,并根据对象及其行为来表示问题。对象是一种非常类似于某些现实世界对象的数据结构。对象包含表示真实世界对象的属性和行为的数据字段和方法。有几个重要的面向对象概念,如数据抽象、封装、多态性、消息传递、模块化和继承。一些流行的面向对象编程语言是Java和c#。然而,它们也可以用于执行过程编程。

面向对象编程和过程式编程的关键区别在于,过程式编程的重点是将编程任务分解为变量和子例程的集合,而面向对象编程的重点是将编程任务分解为封装了数据和方法的对象。最显著的区别可能是过程编程使用过程直接操作数据结构,而OOP将数据和方法捆绑在一起,以便对象操作自己的数据。在命名方面,过程编程中的过程、模块、过程调用和变量通常分别被称为面向对象中的方法、对象、消息和属性。

相关文章:

程序设计中过程与函数的区别 Java和JavaScript的区别 Java和C语言的区别 图与树的区别 Hashtable和Hashmap的区别

了下:编程标记:C,Java,面向对象编程,OOP,OOP概念,OOP语言,帕斯卡,程序语言,过程式编程,过程调用,编程范式

关于作者:罗山Ragel

roshan G. Ragel博士是计算机科学与工程博士,IET(英国)和IEEE成员。他的研究兴趣包括嵌入式系统设计的微架构方面及其安全性和可靠性问题。

评论

  1. elango说

    2012年10月12日下午1:16

    在那里
    有两种主要的软件开发方法。它们列在下面。

    ·
    面向过程的方法
    (面向结构的方法)。

    ·
    面向对象的方法

    过程
    的方法:

    ·
    总是以程序为导向的方法
    专注于特定应用程序中的函数,而不是考虑
    应用程序中涉及的实体。

    ·
    该软件是完全基于
    功能。

    ·
    C编程是一个过程
    面向编程语言(POP)。

    ·
    面向程序的方法则不然
    适合创建真实世界的应用程序。

    例子
    流行:

    让我们假设,我们要为
    银行领域。申请与汇款有关。现在让我们看看
    我们将如何使用POP开发软件。

    场景:首先,客户必须获得表单和
    应填写并提交给银行。银行将接收和处理
    申请表格。一旦银行完成汇款,银行将通知
    向经理说明资金转移的情况。经理会发出
    向客户发出确认,客户将收到确认。目前的系统是
    一个手动的过程,我们正在创建应用程序来克服这个问题
    当前的系统。

    一步
    01:确定应用程序中的功能。

    ·
    启动应用程序

    ·
    索取申请表格

    ·
    填写的表格

    ·
    提交表单

    ·
    接收和处理

    ·
    通知经理

    ·
    问题确认

    ·
    收到确认

    ·
    关闭应用程序

    一步
    02:
    识别应用程序中的变量。

    假设转账是其中的一个模块
    应用程序,因此应用程序甚至包含关于
    的客户。

    常见的
    客户信息:A/cno,姓名,
    年龄,account_type, e-mailid,联系人号码,父亲的名字,年收入,签名,
    强加于人。

    注意:
    甚至密码凭证也可以存储在应用程序中。

    变量
    需要完成申请流程:

    Toa/c_holderNo, to_branch, to_bank, to_amount,
    application_date等等。

    一步
    03:

    在应用程序中,使用了所有的函数
    在主要功能。很少有变量会被声明为全局变量
    会被函数共享。很少有变量是函数的局部变量。
    如果我们为所有的函数编写代码并以适当的方式放置它,那么
    应用程序正常工作。

    限制
    在上述开发的应用程序中使用POP:

    ·
    我们并不重视
    应用程序中涉及的对象。涉及的对象是客户、银行家
    和经理。

    ·
    已声明的变量
    应用程序中的任何函数都可以访问全局。即使银行家和
    经理所涉及的职能也可以访问的个人信息的
    对应用程序声明为全局的客户。所以安全是
    缺乏。

    ·
    在POP中,每个函数都是依赖的
    彼此之间,但这不是现实世界环境中的结构。

    ·
    对应用程序的任何更改都是
    没那么容易。

    注意:

    客户
    函数——获取表单,填写表单,提交
    形成,并接收确认。

    银行家
    职能-接收和处理,通知经理。

    经理
    功能—发出确认。

    注意:

    克服POP的局限性
    语言,我们刚刚进入了下一个阶段叫做面向对象编程
    语言。

    过程
    面向语言用于开发小型应用程序。

    对象
    的方法:

    ·
    面向对象的方法总是
    重点关注应用程序中涉及的对象或实体。

    ·
    该软件是完全基于
    类和对象。

    ·
    c++和JAVA是面向对象的
    编程语言(OOP)。

    ·
    使用面向对象的方法
    创建真实世界的应用程序。

    ·
    面向对象的方法提供了
    数据安全、重载、继承等。

    使用OOP语言开发相同的应用程序:

    步骤1:确定
    与申请有关的实体。

    ·
    涉及的实体包括客户、银行、
    和经理。

    ·
    OOP所涉及的基本概念
    语言类。

    ·
    类
    应用程序中涉及的实体。

    ·
    我们需要声明3个类
    应用程序—客户、银行家和经理。

    步骤2:地方
    类中的函数和变量。

    ·
    客户
    类函数——获取表单,填写表单,
    提交表单,并接收确认信息。

    ·
    银行家
    类功能-接收和处理,通知
    经理。

    ·
    经理
    类函数-发出确认。

    ·
    客户
    类变量- A/cno,名称,年龄,account_type, e-mailid,
    联系方式,父亲的姓名,年收入,签名,出生日期,密码证书,
    Toa/c_holderNo, to_branch, to_bank, to_amount, application_date等。

    ·
    银行家
    类变量-只有a/cno,名称,签名,Toa/c_holderNo,
    To_branch, to_bank, to_amount, application_date公开给银行家类to
    处理应用程序。

    ·
    管理器类
    变量,
    经理类由只对银行家类公开的变量Manager ID组成,
    不是客户级的。只有
    应用程序的A /cno、名称和状态公开给管理器类
    客户承认。

    步骤03:最后一步。Customer、Banker和Manager类的对象
    是相互作用的。这就是完整应用程序的方式
    采用面向对象编程语言设计。

    与POP相比,OOP的优势:

    ·
    它更适合实时
    应用程序开发。它非常接近于现实世界的实现。

    ·
    这里我们非常重视
    应用程序中涉及的对象。而不是重视
    功能。涉及的对象是客户、银行家和经理。

    ·
    变量在相关的
    类,并且只向其他类公开必要的信息。
    从而保证数据的安全性。

    ·
    在面向对象编程中,每个函数并不相互依赖
    其他。对象之间使用函数进行交互。

    回复
    • 模米说

      2014年8月1日凌晨4:29

      过程不必耦合。如果你这么想,你就是个傻瓜。

      回复

留下一个回复取消回复

您的电邮地址将不会公布。必填项已标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒和流感的区别

冠状病毒和流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

吡咯吡啶与哌啶的区别

吡咯吡啶与哌啶的区别

极端主义与恐怖主义的区别

语音与言语的语法差异

语音与言语的语法差异

although和Despite的区别

although和Despite的区别

球蛋白和球蛋白的区别

球蛋白和球蛋白的区别

最新的文章

  • 预防和治疗的区别是什么
  • 《DSM IV》和《DSM V》有什么区别
  • 分子式和结构式有什么区别
  • 痤疮和湿疹有什么区别
  • 突变率和替代率的区别是什么
  • 蚯蚓堆肥和堆肥有什么区别
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.