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

简介:

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

2.7 数据封装注意事项

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

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

相关文章
|
8天前
|
C++
面向对象的C++题目以及解法2
面向对象的C++题目以及解法2
17 1
|
18天前
|
存储 人工智能 机器人
【C++面向对象】C++图书管理系统 (源码)【独一无二】
【C++面向对象】C++图书管理系统 (源码)【独一无二】
|
24天前
|
存储 人工智能 BI
【C++面向对象】C++银行卡管理系统(源码+论文)【独一无二】
【C++面向对象】C++银行卡管理系统(源码+论文)【独一无二】
|
1月前
|
算法 IDE Java
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
41 0
|
1月前
|
设计模式 负载均衡 算法
C/C++发布-订阅者模式世界:揭秘高效编程的秘诀
C/C++发布-订阅者模式世界:揭秘高效编程的秘诀
71 1
|
1月前
|
存储 安全 编译器
C++ std::move以及右值引用全面解析:从基础到实战,掌握现代C++高效编程
C++ std::move以及右值引用全面解析:从基础到实战,掌握现代C++高效编程
79 0
|
1月前
|
C++
C++ 数据封装的方法,重点是其编程思想
在C++中,数据封装一般指的是将数据和操作这些数据的函数绑定在一起的程序设计方式。通常使用C++的类来实现
37 7
|
1月前
|
存储 C++
C++数据封装
C++数据封装
12 1
|
1月前
|
C++
在C++如何实现数据封装?
在C++如何实现数据封装?
22 2
|
1月前
|
安全 C++
c++数据封装
c++数据封装
16 0