ad

《C++程序开发案例课堂》_了解C++的更好途径_10.1 面向对象编程概述

admin 68 2023-11-01

【摘要】 本书摘自《C++程序开发案例课堂》一书中第10章,第1节,由刘春茂、李琪编著。

10.1 面向对象编程概述

C++ 语言经过多年的发展,既具备了支持面向过程的程序设计方法,也具备了面向对象 的程序设计方法。下面着重介绍面向对象编程的概念

10.1.1 面向对象编程的几个概念

《C++程序开发案例课堂》_了解C++的更好途径_10.1 面向对象编程概述

面向对象编程(Object Oriented Programming,OOP)是一种程序设计方法,它的核心就是 将现实世界中的概念、过程和事务抽象成为 C++ 中的模型,使用这些模型来进行程序的设计 和构建。下面来解释一些关于面向对象的概念。

1. 对象

对象的概念既是面向对象编程中的概念,也是现实生活中的概念,就是使用对象这个概 念将我们的程序设计和现实日常生活联系起来。对象在现实生活中可以指自然物体等,每个 对象都含有静态属性,如“长、宽、高”等,这些属性就抽象成一个类的数据成员。每个对 象也有动态属性,通过动态属性和外界进行相互联系,这就可以抽象成类的成员函数。

2.抽象

抽象的概念在现实生活中是一个常用的概念,就是将一个事务对象进行归纳总结的过 程。在面向对象编程中的抽象就是指将有相同特征的事务抽象成为一个类, 一个事务成为这 个类的一个对象。

3.封装

封装在现实生活中的理解就是将某个事物封闭在一个环境中,与外界隔离开来。在面向 对象编程过程中的封装概念就是将一个类的数据成员和成员函数封闭在一个对象中,每个对 象之间相互独立,互不干扰,只留下一个公开接口与外界进行通信。

4. 继承

在面向对象的编程过程中继承的概念与现实中继承的概念是相似的,就是某一个类继承 了另外一个类特性,那么继承的类就称为派生类,被继承的类称为基类。派生类中包含了基 类的数据成员和成员函数,同时也有自己的数据成员和成员函数。

5. 多态

在现实生活中,每个个体接收到相同的信息,翻译不同。在面向对象的过程中,也有类 似的情况,对于相似的类的对象,接收到同一个指令,它们执行的操作不同,称之为多态 性。在面向对象程序设计中,多态性主要表现在同一个基类继承的不同派生类的对象,这些 对象对同一消息产生不同的响应。10.1.2 面向对象编程与面向过程编程的区别

面向对象编程与传统的面向过程编程有哪些区别呢?具体介绍如下。

(1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作 的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体 来处理。

(2)面向过程程序设计方法以功能为中心来设计功能模块,难以维护;而面向对象程序 设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于 维护。

(3)面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运 行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。

(4)面向对象程序设计方法可以利用框架产品(如 MFC,Microsoft Foundation Classes)进 行编程。面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备 的各种特性,最主要的就是继承和多态。

通过上面的对比可以看出,面向对象技术具有程序结构清晰、自动生成程序框架、实现 简单、减少程序的维护工作量、代码重用率高、软件开发效率高等优点。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《C++程序开发案例课堂》_了解C++的更好途径_9.1 第9章 灵活定义数据类型
下一篇:《C++程序开发案例课堂》_了解C++的更好途径_4.1 运算符概述
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×