什么是数据隐藏?
数据隐藏是面向对象编程的一部分,通常用于对用户隐藏数据信息。它包括内部对象细节,如数据成员、内部工作。它保持了数据的完整性,并限制了对类成员的访问。数据隐藏的主要工作是将数据和函数组合成一个单元,将数据隐藏在一个类中。我们不能从类外直接访问数据。
这个过程也被称为数据封装。通过向用户隐藏工作信息来完成。在这个过程中,我们将类成员声明为私有的,这样就没有其他类可以访问这些数据成员。它只能在类中访问。
Python 中的数据隐藏
Python 是最受欢迎的编程语言,因为它适用于每个技术领域,并且拥有简单的语法和庞大的库。在正式的 Python 文档中,数据隐藏将客户端与程序实现的一部分隔离开来。一些重要成员必须对用户隐藏。程序或模块只反映了我们如何使用它们,但用户无法熟悉应用是如何工作的。因此,它提供了安全性并避免了依赖性。
我们可以在 Python 中使用前缀前的 __ 双下划线来执行数据隐藏。这使得类成员是私有的,其他类无法访问。
让我们理解下面的例子。
示例-
class CounterClass:
__privateCount = 0
def count(self):
self.__privateCount += 1
print(self.__privateCount)
counter = CounterClass()
counter.count()
counter.count()
print(counter.__privateCount)
输出:
1
2
Traceback (most recent call last):
File "<string>", line 17, in <module>
AttributeError: 'CounterClass' object has no attribute '__privateCount'
然而,我们可以使用类名访问私有成员。
print(counter.CounterClass__privatecounter)
输出:
1
2
2
数据隐藏的优势
以下是数据隐藏的主要优点。
- 类对象与无关数据断开连接。
- 它增强了抵御无法访问重要数据的黑客的安全性。
- 它将对象作为面向对象程序设计的基本概念。
- 它帮助程序员不正确地链接到损坏的数据。
- 我们可以从面向对象的基本概念中分离出对象。
- 它提供了高安全性,通过对公众隐藏数据来阻止破坏数据。
数据隐藏的缺点
每个硬币都有两面,如果有优点,那么也会有缺点。下面给出了一些缺点。
- 有时候程序员需要编写代码的额外留置权。
- 数据隐藏防止了链接,链接作为可见和不可见数据之间的链接,使对象更快。
- 它迫使程序员编写额外的代码,对普通用户隐藏重要数据。
结论
数据隐藏是隐私和安全的一个重要方面,尤其是在应用中。它在防止未经授权的访问方面发挥着至关重要的作用。它有一些缺点,但这些在它的优点面前是可以避免的。