《C++面向对象高效编程(第2版)》——2.7 数据封装注意事项

简介:

本节书摘来自异步社区出版社《C++面向对象高效编程(第2版)》一书中的第章,第2.7节,作者: 【美】Kayshav Dattatri,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 数据封装注意事项

C++面向对象高效编程(第2版)
尽管封装的信息对于用户而言无关紧要,然而,为了高效地使用对象,用户可能也需要访问封装的信息。实现者封装某些元素后,必须在接口提供访问或操控封装信息的工具。尽管这些访问是受限或受控的,但仍然要给接口提供适当的工具用于访问和修改封装的实体。如果抽象封装了一部分对用户很重要的信息,却未提供合适的工具来访问被封装的信息,这样的抽象是不正确的(即接口不足)。

回到LD播放机的例子。启动和停止马达的装置确实被封装在LD播放机中,播放机只有在确定装入碟片并关闭碟片托盘后才会启动马达。但是,如果用户想更换碟片,也可随时要求播放机停止马达运转。当用户按下OPEN/CLOSE按钮时,影碟播放机将关闭马达,并弹出碟片托盘。由此可见,即使马达控制装置被封装,接口也提供了必需的控件来操控马达,尽管是间接地操控。

相关文章
|
1月前
|
算法 Java 程序员
【C++专栏】C++入门 | 类和对象 | 面向过程与面向对象的初步认识
【C++专栏】C++入门 | 类和对象 | 面向过程与面向对象的初步认识
23 0
|
18天前
|
C++
C++从入门到精通:2.1.2函数和类——深入学习面向对象的编程基础
C++从入门到精通:2.1.2函数和类——深入学习面向对象的编程基础
|
24天前
|
C++
面向对象的C++题目以及解法2
面向对象的C++题目以及解法2
31 1
|
24天前
|
C++
面向对象的C++题目以及解法
面向对象的C++题目以及解法
19 0
|
26天前
|
编译器 C语言 C++
【C++成长记】C++入门 | 类和对象(上) |面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装
【C++成长记】C++入门 | 类和对象(上) |面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装
|
1月前
|
存储 编译器 程序员
【C++】类和对象①(什么是面向对象 | 类的定义 | 类的访问限定符及封装 | 类的作用域和实例化 | 类对象的存储方式 | this指针)
【C++】类和对象①(什么是面向对象 | 类的定义 | 类的访问限定符及封装 | 类的作用域和实例化 | 类对象的存储方式 | this指针)
|
1月前
|
存储 程序员 编译器
c++面向对象概述、内存分析、引用、函数
c++面向对象概述、内存分析、引用、函数
|
5天前
|
设计模式 安全 算法
【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
16 0
|
6天前
|
C语言 C++
【C++】string类(常用接口)
【C++】string类(常用接口)
15 1