Logo
Section 1 / 8

什么是数据隐藏?

在本课中,你将熟悉面向对象编程中一个非常重要的概念,称为数据隐藏。

导入

什么是数据隐藏?

在本课中,你将熟悉面向对象编程中一个非常重要的概念,称为数据隐藏。

介绍

在上一章中,你熟悉了对象和类的概念。

在 OOP(面向对象编程)中,对象和类是基本实体。对象通过类来创建。可以观察到,类包含字段,而对象则被创建出来以操作和访问这些字段。为了使这个面向对象的系统更加可靠且不易出错,限制对类成员的访问是一种良好的实践。

通俗地说,数据隐藏 指的是 隐藏类的内部实现细节,并仅提供一个 公共接口,让外部世界能够与类交互,而无需了解其内部运作。

目的是以一种方式实现类,使得这些类的实例(对象)不允许对类的原始内容进行未经授权的访问或修改。一个类不需要了解另一个类的底层算法。然而,这两个类仍然需要能够通信。

现实生活中的例子

让我们将这一概念应用到一个真实场景中。以医生-病人模型为例。当生病时,病人会去看医生,随后医生会开具适当的药物。

病人只知道去医院看医生这一过程。在这种情况下,去医院看医生的过程是公开已知的,因此它作为访问医生的公共接口。病人并不了解医生开药背后的逻辑和推理过程。病人不会理解医生用来做出治疗决定的医学细节。

这是一个典型的病人类与医生类交互的例子,而病人并不了解医生类的内部实现。

上述交易看起来相当简单。数据隐藏之所以有用,是因为它可以将这种简洁性应用于不同类的对象之间的交互。

数据隐藏的组成部分

数据隐藏可分为两个主要部分:

  1. 封装
  2. 抽象

我们将稍后讨论抽象部分。在本章中,我们将详细讲解封装部分。

...

我们已经介绍了 数据隐藏。在下一课中,你将学习 封装。

类和对象

封装