试述面向过程的编程语言和面向对象的编程语言的概念、特点和区别。

作者&投稿:益趴 (若有异议请与网页底部的电邮联系)
电脑编程语言里,面向对象的语言和面向过程的语言有什么区别,各自的优势是什么~

面向对象是一种思想,它的概念不是单纯地指类对象,如果你认为面向对象就是指类本身,那么你可能还要读几本编程书籍...你用c++写个上万行代码的程序,然后再用纯c语言也写个上万代码的程序,你会发现,C++比纯C更具模块化,封装更好,但C++可读性不如纯c, C++面向对象,但不完全是面向对象,纯c没有面向对象的概念,你明白c++与纯c的区别,你就知道你所问的问题了...

C语言是面向过程的编程,它的最重要特点是函数,通过主函数来调用一个个子函数。程序运行的顺序都是程序员决定好了的。它是我学的第一种程序语言。 C++是面向对象的编程,类是它的主要特点,程序执行过程中,先由主函数进入,定义一些类,根据需要,执行类的成员函数,过程的概念被淡化了(实际上过程还是有的,就是主函数的那些语句),类就是对象,所以我们称之为面向对象程序设计。 不同点: 1.编程模型 所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的. 第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言. 第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处. 2.抽象 面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性. 管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性. 面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应. /* (我的理解) *计算机是一个实体,我要输入字符,显示器显示出来,那么 *计算机(对象).输入(键盘属性).显示(显示方法) *使用分层来引用,操作.而不用管计算机内部如何处理. *只要有计算机对象,它就能响应我的操作,而我敲键盘, *计算机对象就把这个消息传给屏幕,屏幕显示. */ 计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装. 3.封装 封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用. 在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例. 在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义. 由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情. 4.继承 继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性. 继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用. 5.多态 多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用. 6.封装,继承,多态的组合使用 在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车 从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置. 从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响. 从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁). 这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序
记得采纳啊

在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序,即任何程序都可由顺序、选择、循环三种基本控制结构构造。

面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分,有识认性、多态性、类别性和继承性四个主要特点。

两者区别:

(1)从设计思路来看。

面向过程:程序设计的重点是分析解决问题的步骤,以及完成步骤的流程,是一种结构化自上而下的程序设计方法。

面向对象:程序设计的重点是把构成问题的事物分解成对象,从局部着手,通过迭代的方式逐步构建出整个程序,是一种以数据为核心,以类设计为主的自下而上的程序设计方法。

(2)从适用范围来看。

面向过程:由于不涉及实例化对象等操作,程序性能更高,开销更少,因此像切入式等对资源要求较高的系统大多都采用面向过程开发。

面向对象:由于其抽象、封装、继承、多态的特性,使得系统具有更好的扩展性、维护性、复用性,对于功能复杂且维护成本较高的系统采用面向对象的开发。

(3)从代码复用来看。

二者都可以实现代码复用,但是面向过程主要是函数,而面向对象主要是类。

扩展资料:

由于面向过程的编程语言对解题过程的描述采用了比较接近人们习惯的方式,因而易学、易懂、易使用,是用户广泛使用的一类程序设计语言。这类语言的代表有ALGOL,FORTRAN,COBOL,PL/1,PASCAL和ADA等。



你在学习面向对象语言时都是先从面向过程开始学起的。面向对象语言都有封装,继承,多态等特性。


C语言的特点与创建的基本步骤是什么
C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,例如MicrosoftWindows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。C语言是一门面向过程的计算机编程语言,与C++...

什么是面向过程的程序设计?
3、C++ C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。4、Java Java是一门面向...

高级语言可分为面向过程和面向对象两大类什么属于面向过程的高级...
它的设计风格支持数据抽象、面向对象程序设计、过程化程序设计、泛型程序设计等。Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,...

C++是面向对象还是面向过程语言?
可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。C语言是一种面向过程的编程语言,而C++却是一种面向对象的编程语言。在C++程序里,数据和对...

面向过程的结构化程序设计语言有哪些?
C是面向过程的程序设计语言 C++是面向对象的 C#和Java也都是面向对象的,而且面向对象的程度比c++高,但不是完全面向对象的,int等基本类型不是类(无法使用int i;i.xxx();之类的方法) Ruby是完全面向对象的编程语言,连int等基本类型也是对象

c语言的特点?
C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。C语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。6、代码具有较好的可移植性:C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要...

C语言的特点有哪些?
C语言是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。C语言传递参数均是以值传递,另外也可以传递指针。不同的变量类型可以用结构体组合在一起。只有32个保留字,使变量、函数命名有更多弹性。部份的变量类型可以转换,例如整型和字符型变量。通过指针,C语言可以容易的对存储器进行低级...

python和c,应该先学哪个?
先学C,再学python。有人觉得应该从C语言开始入门,原因如下:1、C语言是你上大学第一门接触的编程语言,可见它的重要性。2、C语言是一种面向过程的语言,而Python是一种面向对象的解释型计算机程序设计语言。而你需要先了解什么是面向过程,然后去了解什么是面向对象。3、C语言是基础,可以这样说,...

在C语言中,什么叫做“面向对象”,什么叫做“面向过程”?
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如五子棋,面向过程的设计思路就是首先分析问题的...

面向对象程序设计语言有哪些
二、详细解释 Java:Java是一种广泛使用的面向对象编程语言,主要用于开发跨平台的应用程序。它具有丰富的类库和强大的开发工具,使得开发者能够更高效地编写代码。Java的主要特点是其跨平台性,可以在不同的操作系统上运行。C++:C++是一种通用的面向对象编程语言,它结合了面向过程编程和面向对象编程的特点...

合川市17852852178: 什么是面向过程的编程语言和面向对象的编程语言 -
广茜牛黄: 它的最大特点是能够大幅度的提高软件项目的成功率,减少日后的维护费用,提高软件的可移植性和可靠性. 面向对象的程序设计立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者.它通...

合川市17852852178: 面向对象的编程和面向过程的编程有什么区别? -
广茜牛黄: C语言是面向过程的编程,它的最重要特点是函数,通过主函数来调用一个个子函数.程序运行的顺序都是程序员决定好了的.它是我学的第一种程序语言.C++是面向对象的编程,类是它的主要特点,程序执行过程中,先由主函数进入,定义...

合川市17852852178: 面向对象的语言和面向过程有什么区别啊 -
广茜牛黄: 一、编程思想不同1、面向过程:是一种以过程为中心的编程思想.都是以什么正在发生为主要目标进行编程.2、面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻...

合川市17852852178: 谈谈面向对象的编程语言和面向过程编程语言的不同 -
广茜牛黄: C是面向过程 C++、 JAVA是面向对象 面向对象和面向过程的区别 一个博大,一个精深. 总体而言,面向对象简单,面向过程对人员要求素质过高 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一...

合川市17852852178: 面向对象程序设计语言与面向过程程序设计语言有什么区别啊? -
广茜牛黄: 面向对象的特点是:封装,多态,继承.其中多态有分为重载和重写.面向对象的编程思想更加接近现实的事物.有这样几点好处:1、是编程更加容易.因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象.2、在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚.3、在设计模式上(似乎只有面向对象才设计到设计模式),面向对象可以更好的实现开-闭原则.也使代码更易阅读.相对而言,面向过程的程序设计是面向对象程序设计的基础.面向对象的程序里面一定会有面向过程的程序片断的!以上是小生的一点拙见,拿出来班门弄斧,实在不好意思.搂主的这个问题实在太大,还请各位大师给出更好的答案!

合川市17852852178: 面向过程和面向对象编程语言的区别 -
广茜牛黄: C语言是面向过程的编程,它的最重要特点是函数,通过主函数来调用一个个子函数.

合川市17852852178: 面向过程和面向对象的编程语言怎么区分啊
广茜牛黄: 简单的说,“面向过程”是一种以事件为中心的编程思想,而“面向对象”是一种以事物为中心的编程思想. 比如“面向过程”就是汽车启动是一个事件,汽车到站是另一个事件.在编程序的时候我们关心的是某一个事件,而不是汽车本身,我们分别对启动和到站编写程序;而“面向对象”需要建立一个汽车的实体,由实体引发事件.我们关心的是一个汽车而不是汽车的某个事件.

合川市17852852178: 电脑编程语言里,面向对象的语言和面向过程的语言有什么区别,各自的优势是什么 -
广茜牛黄: 面向对象是一种思想,它的概念不是单纯地指类对象,如果你认为面向对象就是指类本身,那么你可能还要读几本编程书籍...你用c++写个上万行代码的程序,然后再用纯c语言也写个上万代码的程序,你会发现,C++比纯C更具模块化,封装更好,但C++可读性不如纯c, C++面向对象,但不完全是面向对象,纯c没有面向对象的概念,你明白c++与纯c的区别,你就知道你所问的问题了...

合川市17852852178: 面向过程语言和面向对象语言有什么区别?两者谁更具优势? -
广茜牛黄: 区别方面,面向过程语言最基本的概念是函数,面向过程语言将一个个功能封装成一个个函数.因此程序的耦合度较高.而面向对象语言最基本的概念是对象(数据及其操作的方法).各个对象负责自己的工作,为其他对象提高功能.相对而言...

合川市17852852178: 面向对象的编程语言和面向过程的编程语言谁比较好? -
广茜牛黄: 看具体应用,如果是底层硬件的话就用面向过程的语言;如果是应用程序编程的话就用面向对象的语言,效率高些.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网