阿狸先森|一文让你学完C++,干货收藏( 十 )
例如 , 程序可以调用 sort() 函数 , 而不需要知道函数中排序数据所用到的算法 。 实际上 , 函数排序的底层实现会因库的版本不同而有所差异 , 只要接口不变 , 函数调用就可以照常工作 。
在 C++ 中 , 我们使用类来定义我们自己的抽象数据类型(ADT) 。 可以使用类 iostream 的 cout 对象来输出数据到标准输出 , 如下所示:
实例
#include
访问标签强制抽象在 C++ 中 , 我们使用访问标签来定义类的抽象接口 。 一个类可以包含零个或多个访问标签:
访问标签出现的频率没有限制 。 每个访问标签指定了紧随其后的成员定义的访问级别 。 指定的访问级别会一直有效 , 直到遇到下一个访问标签或者遇到类主体的关闭右括号为止 。
数据抽象的好处
数据抽象有两个重要的优势:
如果只在类的私有部分定义数据成员 , 编写该类的作者就可以随意更改数据 。 如果实现发生改变 , 则只需要检查类的代码 , 看看这个改变会导致哪些影响 。
如果数据是公有的 , 则任何直接访问旧表示形式的数据成员的函数都可能受到影响 。
数据抽象的实例C++ 程序中 , 任何带有公有和私有成员的类都可以作为数据抽象的实例 。 请看下面的实例:
实例
#include
Total 60上面的类把数字相加 , 并返回总和 。 公有成员 addNum 和 getTotal 是对外的接口 , 用户需要知道它们以便使用类 。 私有成员 total 是用户不需要了解的 , 但又是类能正常工作所必需的 。
C++ 数据封装所有的 C++ 程序都有以下两个基本要素:
封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念 , 这样能避免受到外界的干扰和误用 , 从而确保了安全 。 数据封装引申出了另一个重要的 OOP 概念 , 即数据隐藏 。
数据封装是一种把数据和操作数据的函数捆绑在一起的机制 , 数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制 。
C++ 通过创建类来支持封装和数据隐藏(public、protected、private) 。 我们已经知道 , 类包含私有成员(private)、保护成员(protected)和公有成员(public)成员 。 默认情况下 , 在类中定义的所有项目都是私有的 。 例如
class Box{public:double getVolume(void){return length * breadth * height;}private:double length;// 长度double breadth;// 宽度double height;// 高度};
推荐阅读
- 基尔摩斯|2020年中报最有料的瓜,一文看尽
- 三好先森|技术与人类的关系到底是什么?
- 阿狸先森|现今如何了?,被联想198亿元收购的巨头摩托罗拉
- 三好先森|「精选」20个黑科技软件下载网站,让你再无找不到的软件
- |一文读懂去中心化自治组织——DAO
- 阿狸先森|被联想198亿元收购的巨头摩托罗拉,现今如何了?
- |血压为何总是忽高忽低?4方面原因和解决办法,一文为您说清楚
- 小胖先森|或是华米第一款联名手表?,华米预热新品
- 第一财经|一文读懂公募REITs业务配套文件说了什么
- 文件|一文读懂公募REITs业务配套文件说了什么
