首页 > 编程知识 正文

面向程序和面向对象的区别,面向对象和面向过程的联系

时间:2023-05-06 13:18:34 阅读:168889 作者:2654

一、面向对象技术是当前流行的系统设计开发技术,包括面向对象分析和面向对象编程。 面向对象编程技术的提出主要是为了解决传统编程方法——结构化编程无法解决的代码重用问题。

面向对象的编程方法有四个基本特征。

1 .抽象:

抽象是指忽略与当前目标无关的主题的一面,更充分地关注与当前目标相关的一面。 抽象不打算理解所有的问题,只选择其中的一部分,暂时不用一些细节。 例如,我们设计了一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用在意他的身高、体重等信息。 抽象包括流程抽象和数据抽象两个方面。 流程抽象意味着用户可以将明确定义功能的操作作为单个实体来看待,尽管实际上可能通过一系列低级操作来完成。 数据抽象定义数据类型和应用于该类型对象的操作,并限制对象的值只能通过这些操作进行更改和观察。

2 .继承:继承是连接类的层次模型,允许和鼓励类复用。 提供明确表达共性的方法。 对象的新类可以从现有类(称为类继承)派生。 新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类)。 派生类可以从基类继承方法和实例变量,类可以修改或添加新方法以满足特殊需要。 这在自然中体现了一般而特殊的关系。 继承性很好地解决了软件复用性问题。 例如,所有windows APP应用程序都有一个窗口,它们可能都是从窗口类派生的。 但是,有些APP应用程序用于文字处理器,而有些APP应用程序用于绘图。 这是因为派生了不同的子类,并且每个子类都添加了不同的特性。

3 .包装:

封装是面向对象的特征之一是对象和类概念的主要特性。 封装是指围绕进程和数据,只能通过定义的接口访问数据。 面向对象的计算起源于这样一个基本概念,即现实世界被描述为一系列完全自主和封装的对象,可以通过安全的接口访问其他对象。 定义对象的属性后,必须确定这些属性的可见性,即哪些属性对外部世界可见,哪些属性用于表示内部状态。 在此阶段定义对象的接口。 通常,您必须禁止直接访问单个对象的实际表示,并通过操作界面访问对象。 这称为信息隐藏。 事实上,信息隐藏是用户对封装性的感知,封装支持信息隐藏。 打包使模块更具独立性,更容易维护和修改程序。 由于对APP表示的更改仅限于类内部,因此可以将APP表示更改的影响降至最低。

4 .多态性:

多态性是指允许不同类型的对象响应同一条消息。 例如,同样的加法运算,两个时间相加和两个整数相加肯定完全不同。 例如,同样的选择编辑-粘贴操作在文字处理和绘图程序中有不同的效果。 多态性包括参数化多态性和综合多态性。 多态语言具有灵活、抽象、动作共享、代码共享的优点,较好地解决了APP函数的同名问题。

面向对象编程有很多优点。

1、开发时间短、效率高、可靠性高,开发的程序更强。 面向对象编程的重用性允许在APP中采用大量成熟的类库,从而缩短开发时间。

2、APP应用程序易于维护、更新和升级。 继承和封装使更改APP应用程序的影响更加局部化。

二、面向过程的编程:“面向过程”(Procedure Oriented )是以过程为中心的编程思想。 这些都是以发生了什么为目标编程的,与面向对象不同,是谁受到了影响? 与面向对象明显不同的是封装、继承和类。

面向过程的编程最容易被初学者接受,往往通过长代码实现指定的功能。 开发过程的思路是按照执行的逻辑顺序整理数据和函数,将数据和函数分开考虑。

特性:模块化流程化

优点:性能高于面向对象。 由于类调用时需要实例化,开销大、消耗资源的单片机、嵌入式开发、Linux/Unix等一般采用面向过程的开发,性能是最重要的因素。

缺点:无面向对象、易维护、易重用、易扩展

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。