面向过程语言与面向对象语言的区别及优缺点

面向对象与面向过程 目的 面向过程和面向对象的工作切换时时常会困扰,本文试图整理已期指导后续的切换融会贯通顺畅一些。 概述 面向过程和面向对象是两种编程语言的方法,其思想基于的哲学基础不一样。计算机编程发展过程是先有面向过程,后有面向对象。面向对象的编程语言也是由面向过程的编程语言为基础实现的。 面向过程:就是程序编写依据事物过程的方式实现。应用上对应是实现某个功能、完成某个任务。比如写一篇文章,那么需要构思,写标题,目录,各功能章节等。面向过程就是找人构思,找人去写目录,写标题,写各个章节,然后按照构思逻辑整合在一起 阅读详情

一. 面向过程语言

1. 背景:

面向过程的语言也称为结构化程序设计语言,是 “高级语言” 的一种。
随着计算机硬件功能的提高(硬件功能提高为计算机拓展功能打下基础),过程设计语言出现于20世纪60年代出现,

2.理解

面向过程语言以函数作为基本组成结构,在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。 其概念最早由E.W.Dijikstra在1965年提出,是软件发展的一个重要里程碑。例如C语言,FORTRAN语言。用这些语言编程也称为面向过程编程。
面向过程编程即在实现一定功能的过程中将功能拆分为一个个任务,并用若干书写形式互相独立的函数去完成任务。

类比于人类行为,相当于组织一场聚会,只需要分成:

  • 确定聚会主题
    
  • 确定来客名单
    
  • 准备场地
    
  • 准备活动
    
  • 准备食物
    
  • ....
    

3.面向过程语言的

优点:符合人类思维,各代码块儿分工明确,能将需要实现的功能拆分的清晰明了
缺点:可复用性差,数据安全性差,难以开发大型复杂的软件

不易复用:数据处理数据的过程互相独立,一旦数据结构,类型改变,之前的代码就都不起作用了,后续工作量大
不易拓展及维护:函数功能太固定,增删都不简容易

二.面向对象语言

1.背景

面向对象语言(Object-Oriented Language)缩写为POP,是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。
面向对象语言借鉴了20世纪50年代的人工智能语言LISP,引入了动态绑定的概念和交互式开发环境的思想;始于20世纪60 年代的离散事件模拟语言SIMULA67,引入了类的要领和继承,成形于20世纪70年代的Smalltalk。
面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。

2.理解

语言中提供了类、继承等成分,有识认性、多态性、类别性和继承性四个主要特点,这里不赘述

类比于人类行为(并与面向过程语言对照),相当于组织一场聚会,可分为:

  •  A提出主题
    
  •  B确定来客名单
    
  •  C准备场地
    
  •  D准备娱乐活动
    
  •  E准备食物
    
  • …

3.面向对象语言的

优点:
①易扩展:由于面向对象编程封装、继承、多态的三大特性,使得设计出来的系统高内聚、低耦合,整个系统灵活、易扩展,而且成本较低。
②易复用:可在不同的模块,应用下多次调用。
③效率高:在软件开发时,根据需要将现实世界的事物抽象成类,类的属性表示事物的特有性质、类的方法表示事物的行为。一个类对象表示一个事物的实例。这种方式更贴近人类的日常思维,能够提高程序的开发效率和质量。

缺点:
①需要一定的软件支持环境。
②不太适宜大型的MIS开发,若缺乏整体系统设计划分,易造成系统结构不合理、各部分关系 失调等问题。
③只能在现有业务基础上进行分类整理,不能从科学管理角度进行理顺和优化

Java语言:面向过程和面向对象详解 阅读详情

相关推荐

MATLAB实战:用ARMAX模型搞定电力系统惯量评估(附完整代码)

本文详细介绍了如何利用MATLAB中的ARMAX模型进行电力系统惯量评估,解决新能源占比提高带来的系统惯量下降问题。通过系统辨识技术,从电网运行数据中准确提取惯量参数,并提供完整的代码实现,帮助工程师快速应用于实际工程。

peach的博客 636

一文带你搞懂什么是“面向过程”与“面向对象”

一文详细解释了什么是“面向过程”与“面向对象”,分别的代表性语言、区别。

weixin_62261692的博客 7789

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 794

简单通俗的说一下什么是面向过程和面向对象

网上关于这两个的回答真的很多,但是都有一个共同特点:------------不容易懂。我今天就简单通俗的说一下(当然,如果你要非常深入的了解,这篇不适合你。如果你只是为了了解什么是面向过程和面向对象,怎么面对考试,面对面试,怎么和别人说两者区别,看我下面几段话够了。)---------------------------------------------先来两小段通俗解释面向过程(Procedu...

xmh594603296的博客 3万+

AT32F435/437开发实战:把SD卡变成U盘的完整指南(含源码解析)

本文提供了基于AT32F435/437微控制器将SD卡改造为U盘的完整实战指南。通过深入解析USB MSC协议与SDIO驱动的协同工作原理,详细介绍了硬件设计要点、软件架构融合、核心源码解析以及从编译到文件传输的完整调试流程,帮助开发者实现可靠的大容量存储设备扩展。

weixin_29159127的博客 409

通过两个mark点确定某一个点的位置

read_image (Image0, '0.bmp') binary_threshold (Image0, Region, 'max_separability', 'dark', UsedThreshold) connection (Region, ConnectedRegions) fill_up (ConnectedRegions, RegionFillUp) select_shape_std (RegionFillUp, SelectedRegions, 'max_area', 70) red...

优快云博客 3887

面对对象和面向过程

面向对象和面向过程 文章目录面向对象和面向过程什么是面向对象?优点缺点什么是面向过程?优点缺点举个例子,So Easy! 什么是面向对象? 面向对象(Object Oriented)是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向对象的语言有:Smalltalk、Eiffel、C++、C# 、Java、PHP、.NET...

qq_35866290的博客 2384

GAN模型中的常见变体有哪些,如DCGAN、WGAN和CGAN等?

生成对抗网络(GAN)是一种强大的深度学习模型,它由生成器和判别器两个网络组成,通过对抗训练的方式实现生成数据的能力。随着研究的发展,出现了许多GAN的变体,每个变体都有其独特的改进和特点。

huidhsu的博客 2260

C语言和C++的区别与联系(详细)

面向过程和面向对象语言的区别 文件区别:关键字、后缀、返回值、参数列表 重载 C/C++函数调用约定与函数名称修饰规则 在学习了C语言和C++之后,这两者之间的区别我们需要仔细的捋一捋! 一、面向过程语言和面向对象语言 我们都知道C语言是面向过程语言,而C++是面向对象语言,说C和C++的区别,也就是在比较面向过程和面向对象的区别。 1.面向过程和面向对象的区别 (1)面向...

cherrydreamsover的博客 15万+

避坑指南:微信小程序蓝牙广播在iOS上的那些‘坑’(附serviceUuids传值解决方案)

本文深入解析微信小程序蓝牙广播在iOS平台上的开发难点,特别是`serviceUuids`传值解决方案。通过对比iOS与安卓的蓝牙协议实现差异,提供实战编码策略和硬件端配合方案,帮助开发者有效规避兼容性问题,提升蓝牙外围设备开发效率。

weixin_30316097的博客 423

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

qq_44224801的博客 2068

面向对象与面向过程最本质的区别

前言 上周上课,老师提出了一个问题,程序设计有面向对象和面向过程两种常用设计理念。请你回答他们各自的目的和各自的有缺点。请举例,进行详细的论述。 我发现我回答不全,按老师的话说就是良莠不齐。 下面就让我来总结一下面向对象与面向过程各自的目的,各自的优缺点。 面向对象与面向过程的各自的目的 面向对象和面向过程没有好坏之分。 面向对象目的是通过建立对象使构成的程序,可维护,可扩充,可复用。所以面向对象主要适用于大型的 三级目录 ...

理想主义的花最终会盛开在浪漫主义的土壤里,我的热情永远不会熄灭在现实的平凡之中,我们终将上岸,阳光万里。 8062

HTML爱心字母雨(完整代码)

HTML语言实现爱心字母雨的完整代码。

AIGC 2万+

面试题——C/C++的区别与联系

一、面向过程语言和面向对象语言 我们都知道C语言是面向过程语言,而C++是面向对象语言,说C和C++的区别,也就是在比较面向过程和面向对象的区别。C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算...

现从事游戏开发领域 | 团队项目be_with开发进行中 web方向感兴趣者私 ——We can do all things. 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【Java基础】面向对象与面向过程、编译型语言与解释型语言

1 面向对象与面向过程 面向过程:类调用需要实例化,开销大,比较消耗资源,所以当性能是最重要的因素是,比如单片机、嵌入式开发、Linux、Unix等一般采用面向过程开发。常见语言:C。 面向对象:面向对象易维护、易复用、易扩展。面向对象具有封装、继承、多态的特定,可以设计出低耦合的系统,但是比面向过程性能低。常见语言:C++、Java、Python、C#、Go、JavaScript、PHP等。 2 编译型语言与解释型语言 计算机不能理解高级语言,使用任何高级语言编写的程序必须转换成机器语言,才能被计算机

Awt_FuDongLai的博客 1830

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

文章目录程序设计和代码写法的区别其他为什么说Java是纯面向对象的为什么说go既是面向对象也是面向过程、或说既不是面向对象也不是面向过程? 参考资料 动画讲编程:C的面向过程和C++的面向对象有什么区别,大象装冰箱一个例子搞懂 如何通俗易懂地举例说明「面向对象」和「面向过程」有什么区别? 程序设计和代码写法的区别 面向对象 在程序设计上,以对象为中心去思考对象具有的行为 在代码写法和表现上,函数通过对象调用,比如Person.Say("hello")。Person是对象 面向过程:在代码写法上

无数_Mirage的博客 453

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

面向对象与面向过程 && Java与C++

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

NO_BUG_GIRL的博客 272

C语言和C++的区别在哪

一、面向过程语言和面向对象语言 我们都知道C语言是面向过程语言,而C++是面向对象语言。说C和C++的区别,也就是在比较面向过程和面向对象的区别。 1. 面向过程和面向对象的区别 面向过程:面向过程编程就是分析解决问题的具体步骤,然后把这些步骤一步一步实现,使用的时候就一个一个的依次调用就可以了。 面向对象:面向对象编程就是把问题分解成不同对象,建立对象的目的不是为了完成一个步骤,而是为了描述该对象在整个解决问题过程中的角色和行为。 2. 面向过程和面向对象的优缺点 面向过程:优点:性能高(比面向

☜@_@达奚黑雁的博客 194

C++面试题-面向对象-面向对象概念

C++面试题-面向对象-面向对象概念 问:说说C++和C的主要区别? 答: C语言属于面向过程语言,通过函数来实现程序功能。而C++是面向对象语言,主要通过类的形式来实现程序功能。 使用C++编写的面向对象应用程序比C语言编写的程序更容易维护、扩展性更强。 C++多用于开发上层应用软件,而C语言代码体积小、执行效率高,多编写系统软件和嵌入式开发。 例如:Windows操作系统、Linux...

《好好先生》专栏 3131

[精彩]C与C++的真实区别

我觉得C++不是一个C的扩展,而是一门崭新的语言,只是基本的语法和C相同,在C语言世界中,可能可以将 class A { public: int member1,member2; private: int  member3; public: void Function1(); } 用 struct A { int member1; int  member2; int  member3; } voi

Ren_JianH的专栏 1418

面试题-面向对象-面向对象概念

返回目录:https://blog.youkuaiyun.com/chen1083376511/article/details/82723709 +问题1:问:说说c++和c的主要区别?答:1.特点 C语言属于面向过程语言,通过函数来实现程序功能,强调的是编程的算法方面。C语言可将大型程序分解成小型、便于管理的任务。而C++是面向对象语言,主要通过类的形式来实现程序功能。2.性能 使用C++编写的面向对...

用来学习的地方 1457

Java-面向对象语言

面向过程与面向对象的区别 面向过程 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,相对比较消耗资源,比如:嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象 优点:易维护、易复用、易扩展、,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点:性能比面向过程低 ...

YanPengRoc的博客 337

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

【1】面向过程和面向对象的比较 网上发现了一篇文章,说了一下OP与OO的不同,并且打了一个比喻,通俗易懂。 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。 所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。我觉得这个比喻还是比较贴切的。    蛋炒饭制作的细节,...

weixin_30878361的博客 335

什么是面向对象 什么是面向过程 面向对象和面向过程的区别

转自http://blog.163.com/wenxianliang08@126/blog/static/83583263201131611916893/ 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。  面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行

today的博客 9552

Java的面向对象思想及特征

总结一下java面向对象的思想及相关基础知识

Zonzereal的博客 3454
上一篇: Xshell 与Xftp,外加使用vim运行C程序
Suew.
博客等级 码龄5年 3粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值