您的位置:

Python 中的数据隐藏

什么是数据隐藏?

数据隐藏是面向对象编程的一部分,通常用于对用户隐藏数据信息。它包括内部对象细节,如数据成员、内部工作。它保持了数据的完整性,并限制了对类成员的访问。数据隐藏的主要工作是将数据和函数组合成一个单元,将数据隐藏在一个类中。我们不能从类外直接访问数据。

这个过程也被称为数据封装。通过向用户隐藏工作信息来完成。在这个过程中,我们将类成员声明为私有的,这样就没有其他类可以访问这些数据成员。它只能在类中访问。

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 

数据隐藏的优势

以下是数据隐藏的主要优点。

  • 类对象与无关数据断开连接。
  • 它增强了抵御无法访问重要数据的黑客的安全性。
  • 它将对象作为面向对象程序设计的基本概念。
  • 它帮助程序员不正确地链接到损坏的数据。
  • 我们可以从面向对象的基本概念中分离出对象。
  • 它提供了高安全性,通过对公众隐藏数据来阻止破坏数据。

数据隐藏的缺点

每个硬币都有两面,如果有优点,那么也会有缺点。下面给出了一些缺点。

  • 有时候程序员需要编写代码的额外留置权。
  • 数据隐藏防止了链接,链接作为可见和不可见数据之间的链接,使对象更快。
  • 它迫使程序员编写额外的代码,对普通用户隐藏重要数据。

结论

数据隐藏是隐私和安全的一个重要方面,尤其是在应用中。它在防止未经授权的访问方面发挥着至关重要的作用。它有一些缺点,但这些在它的优点面前是可以避免的。