关键区别-面向对象与POP
在讨论OOP和POP之间的区别之前,让我们先看看编程过程的一些基本概念。在使用编程为各种类型的问题构建解决方案时,有许多不同的编程过程方法。这些方法被称为编程范例.大多数编程语言都属于一个范式,但有些语言可能具有多个范式的元素。面向对象编程(OOP)和面向过程编程(POP)是两种这样的编程范式。这两种范式的区别主要在于它们在设计解决方案时所创建的抽象。一个抽象在编程方法中,从用户的角度分离信息的相关性。的关键的区别popp和OPP之间的区别是POP创建并使用过程抽象而OOP着重于数据抽象。
面向对象是什么?
面向对象编程(OOP)基于两个主要概念;对象而且类.对象是既包含数据又包含操作该数据的过程的结构。这些对象可以用于模拟真实世界的实体。物体有两个特征;状态和行为。类定义数据格式和程序对于给定类型或一类对象。换句话说,类是对象的蓝图。
面向对象方法主要关注数据,而不是处理数据的算法。由于数据和处理该数据的函数都绑定在对象中,因此外部函数不能对数据进行任何修改。也就是说,一个对象的数据不能被任何其他对象的函数访问。这保证了程序数据的安全性。但是,一个对象的函数可以访问另一个对象的函数,允许对象之间进行通信。通过另一个对象的方法调用一个对象的方法称为消息传递。
面向对象编程有四个主要特征;抽象、封装、多态性和继承。的目的抽象就是只向用户显示相关信息,从而降低问题的复杂性。封装是对象中信息的本地化。一个类获取另一个类的属性和功能的过程称为继承.多态性是具有多个签名的函数的特征或具有多种不同行为方式的对象的特征。
OOP还支持高模块化。添加新函数或数据不需要修改整个程序。这可以通过创建一个新对象来实现,因为对象是独立于声明和定义的。因此,面向对象编程可以是高效和高生产力的。
考虑到编程设计,OOP遵循自底向上的方法。一些流行的面向对象编程语言是Java、Python、Perl、VB。净,c++。
流行是什么?
面向过程编程(POP)将问题视为要做的事情的序列,并基于过程调用的概念。程序被分成更小的部分,称为过程——也称为例程、子例程、方法或函数。程序强调在程序中需要做什么的算法。也就是说,一个过程包含一系列要执行的计算步骤。因为这些函数是面向动作的,所以在建模现实世界的问题时,使用POP语言有时会被证明是困难的。
POP更关注于编写一个指令列表,告诉计算机一步一步做什么。很少注意到与程序相关的数据。数据可以在过程之间传递,每个过程将数据从一种形式转换为另一种形式。大多数数据都是全局的,可以从系统中的任何功能中自由访问。而且由于POP不支持有效的隐藏数据的技术,该程序可能是不安全的。有些函数可能有自己的本地数据。
在POP中,有时可能很难确定哪个函数使用了什么数据,因为全局数据在很大程度上是在函数之间共享的。如果需要更改现有数据,那么访问该数据的所有函数也必须进行修改。这可能会影响整个程序,bug和错误可能会出现。
考虑到编程设计,POP语言采用自顶向下的方法。因为POP语言显式引用执行环境的状态,所以它们也被称为命令式语言。这种POP语言的例子有COBOL、Pascal、FORTRAN和C语言.
OOP和POP的区别是什么?
OOP和POP的定义
OOP:面向对象编程是一种关注数据抽象的编程范式。
流行面向过程编程是一种关注过程抽象的编程范式。
面向对象和POP的特点
问题分解
OOP:在面向对象的方法中,程序被分成称为对象的部分。
流行:在POP方法中,程序被划分为函数。
焦点
OOPOOP的主要关注点是与程序相关联的数据。
流行: POP的主要重点是处理数据的程序和算法。
设计的方法
OOP: OOP采用自底向上的方法。
流行: POP采用自顶向下的方法。
使用的数据
OOP:在面向对象中,每个对象控制其内部的数据。
流行:在POP中,大多数函数使用全局数据。
访问数据
OOP:在面向对象编程中,一个对象的数据只能被该对象的函数访问。
流行:在POP中,数据可以自由地从一个函数移动到另一个函数。
访问说明符
OOP: OOP具有访问说明符,如Public、Private等。
流行: POP没有任何访问说明符。
安全的数据
OOP:由于OOP提供了数据隐藏,因此与程序相关联的数据是安全的。
流行: POP不提供任何数据隐藏方法。因此,数据的安全性较低。
易于修改
OOP:面向对象提供了添加新数据和函数的简单而有效的方法,而无需修改现有的程序。
流行:在POP中,如果需要增加新的数据或功能,必须修改现有的程序。
使用的语言
OOP: c++, Java, VB。净,c#。NET等都是面向对象所使用的。
流行: POP使用的是FORTRAN、Pascal、C、VB、COBOL等。
图片来源: “Python标志和文字标记”由www.python.org - https://www.python.org/community/logos/编写。(GPL)通过下议院 Rezonansowy的“C编程语言标志”——这个文件源自:C编程语言,第一版Cover.svg。(公开)通过下议院
留下一个回复