c++ - 数据隐藏,数据封装?实际应用

标签 c++ oop encapsulation

<分区>

您好,我是 C++ 的新手,正在阅读 C++ 概念......我无法理解隐藏在实际或实际中如何使用的数据时间。

问题:据我所知,数据隐藏将在 C++ 中实现,以隐藏正在使用的实际数据 在程序的幕后假设通过声明一些数据在类中私有(private)。 当制作和编译 C++ 程序时......考虑一些游戏的例子, 可执行文件(.exe 或 unix 中的其他可执行文件)将提供给用户?

所以我对什么感到困惑? 现在我的数据藏在哪里??当用户使用可执行文件(.exe)时,因为我认为用户无法读取或打开 .exe 以查看文件内容。 即使我将我的所有变量都声明为公开...数据仍然是隐藏的,因为用户只有 .exe 文件,用户无法读取或操作该文件?

请各位大侠指教??在我认为错误的地方提供一些反馈

最佳答案

什么是数据封装?
数据封装将数据和对数据进行操作的函数绑定(bind)在一个单元中。
你如何实现数据封装?
通过创建类型。例如:类、结构等。

什么是数据抽象?
数据抽象对外部世界隐藏了类型的复杂性。
你如何实现数据抽象?
通过使用访问说明符。例如:公共(public)、私有(private)、 protected 。

访问说明符对谁隐藏数据?
访问说明符向类/结构对象的用户隐藏数据(通过不向他们提供对数据的直接访问)。

将游戏中的类视为一个单独的单元,其他功能(源代码)使用它来执行某些功能。通常,一个类有一个状态和对状态执行操作的方法。访问说明符从其他源代码(可能是类或结构)中隐藏类的成员。其他代码可以创建您的类的对象,并可以通过您的类公开的公共(public)方法修改类数据成员内的状态存储。因此,访问说明符提供了一种有组织的方式来访问类成员。

关于c++ - 数据隐藏,数据封装?实际应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5562356/

相关文章:

c++ - 将 C 风格的 pretty-print 重构为 C++ 风格的 pretty-print

c++ - 如果从不使用该函数,您可以在 C++ 模板函数中使用未定义的类型吗?

c++ - 为使用对象聚合的程序设计通信系统

java - 简单工厂与工厂方法

java - 如果封装不隐藏数据,为什么又称为数据隐藏呢?

c++ - 如何获取 clang-format 以对齐链式方法调用

java - 处理数据库子类的最佳设计?

java - 静态常量是否违反 "encapsulation"?

angular - no-unused-variable TSLint 规则不适用于 private @HostBinding

c++ - 计算 rtrees 之间的交集