数据隐藏(data hiding)和数据封装(data encapsulation)的区别

面向对象编程是指基于对象概念的编程范式。这些对象容纳数据和代码。被称为属性的数据是以字段的形式出现的。相反,被称为方法的代码是以过程的形式出现的。面向对象编程最重要的概念之一包括数据隐藏和封装。...

面向对象编程是指基于对象概念的编程范式。这些对象容纳数据和代码。被称为属性的数据是以字段的形式出现的。相反,被称为方法的代码是以过程的形式出现的。面向对象编程最重要的概念之一包括数据隐藏和封装。

数据隐藏(data hiding) vs. 数据封装(data encapsulation)

数据隐藏和数据封装的区别在于,数据隐藏指的是一个进程,而数据封装是该进程的子进程的一部分。这两个概念,一个是另一个的一部分,有不同的含义。它们还有其他区别,包括它们的目标、焦点、访问说明符和过程。

数据隐藏(data hiding)和数据封装(data encapsulation)的区别

数据隐藏是指面向对象编程的概念。通过数据隐藏的过程来确认某个类的成员不被识别的访问的安全性。它保护数据及其成员免受黑客攻击。如果数据遭到黑客攻击,可能导致信息泄露或非法操纵。

数据封装也被称为数据隐藏的一部分。数据封装是面向对象编程中的另一个概念。它是一种对用户隐藏类的实现细节的机制。在面向对象编程语言中,它也指在类中封装私有数据。

比较参数 数据隐藏 数据封装
意义 它指的是保护一个类的成员不被不可识别的、非法的或未经授权的访问。 它是对类中某些数据成员和方法的实现细节的包装。
目标 目标是保护数据并隐藏数据的复杂性。 封装涉及到包装数据以隐藏系统的复杂性,这使得系统简单并且易于最终用户操作。
福库斯 这里的重点是在胶囊中提供数据使用的限制或允许。 这里的重点是包装或封装复杂的数据。
访问说明符 在数据隐藏下,数据是完全私有的,不可访问的。 在数据封装下,数据不一定是私有的,也可以是公共的。
过程 它指的是一个单独的过程以及一种技术。 它是指数据隐藏过程中的一部分。

数据隐藏与数据封装的比较表

什么是数据隐藏(data hiding)?

数据可以简单地用于传输信息、维护记录或注释以及各种其他目的。根据数据成员或所有者的不同,数据可以是私有的,也可以是公共的。如果某些数据**纵,就会产生不利影响,包括错误的结果。它还可能损害某些数据的完整性。所有这些使数据不仅敏感,而且使程序的内容不稳定。这就是数据需要安全和保护的原因。这可以通过限制外部访问来实现。

在面向对象语言中,访问修饰符基本上是设置类、方法和其他成员的可访问性的关键字。有不同类型的访问修饰符,包括private、public和protected。在Java中,这些访问修饰符有助于控制数据隐藏。如果数据是公开的,那么外人很容易获得。这些数据可以被特定类之外的人访问。

因此,为了隐藏数据或限制外部人员访问数据,需要将数据声明为私有的。一旦数据被声明为私有,它就具有受限的访问权限,这意味着它只能由某个类的对象访问。

什么是数据封装(data encapsulation)?

数据封装是面向对象编程语言的一个概念,是数据隐藏的一个子过程。它专注于包装数据和降低数据复杂性。它是指在一个胶囊中相互绑定代码和数据。这样做是为了隐藏某个类的复杂性。

在数据隐藏中,访问说明符在保护数据免受来自外部的未知访问方面起着重要作用。在数据封装中,访问说明符在保护数据免受来自内部的未知访问方面起着重要作用。在数据封装中,类中的成员可以是私有的、公共的,也可以是受保护的。

它根据类提供对成员的访问。例如,特定类的私有成员将被授予访问该特定类的对象的权限。封装处理系统的内部工作,而不是外部工作。

例如,麦当劳的一名员工负责接受订单并将其交给顾客。他的工作是在机器里打订单,准备好后给托盘。他不需要知道订单是怎么准备的。这就是数据封装如何帮助降低系统的复杂性。

数据隐藏和数据封装的主要区别

  1. 数据隐藏是指保护一个类的成员不被未识别、非法或未经授权的访问。然而,封装是指封装类中某个数据成员和方法的实现细节。
  2. 数据隐藏的目标是保护数据安全和隐藏数据的复杂性。数据封装的目的是隐藏数据的复杂性,使系统更易于最终用户操作。
  3. 在数据隐藏中,主要关注的是在胶囊中提供对数据使用的限制或允许。在数据封装中,主要关注的是包装或封装复杂的数据。
  4. 在数据隐藏下,数据是完全私有的,不可访问。在数据封装下,数据不一定是私有的,也可以是公共的。
  5. 数据隐藏是一个独立的过程,也是一种技术。另一方面,数据封装是数据隐藏过程的一部分。

结论

这两个术语数据封装似乎与数据隐藏相同。这主要是由于数据封装是数据隐藏的一部分,而面向对象数据语言的概念不同。这两个概念有不同的含义、目标、焦点和过程。

数据隐藏和封装在系统实现中具有重要意义。一个重点是保护数据,另一个则是降低复杂性。从而实现了数据的保护和系统的用户友**。

参考文献

  1. https://ieeexplore.ieee.org/abstract/document/4426486/
  2. https://ieeexplore.ieee.org/abstract/document/818099/

 

  • 发表于 2021-07-11 22:24
  • 阅读 ( 255 )
  • 分类:IT

你可能感兴趣的文章

封装(encapsulation)和脱胶囊(decapsulation)的区别

.... 并列比较-以表格形式封装与去封装 6. 摘要 什么是封装(encapsulation)? 网络模型用于标准化网络通信。当从一个位置向另一个位置发送数据时,数据会经过许多层。TCP/IP模型有四层。它们是应用层、传输层、互联网层和网络接入...

  • 发布于 2020-10-19 15:30
  • 阅读 ( 479 )

抽象(abstraction)和封装(encapsulation)的区别

...要的事情,那就是修车,而不是关注细节。 什么是封装(encapsulation)? 封装是另一个OOP概念,它将数据和函数绑定到单个组件中,同时限制对某些组件的访问。它是OOP的主要基本概念之一,将数据和信息封装在一个单元下。从技...

  • 发布于 2021-06-25 03:41
  • 阅读 ( 720 )

数据抽象(data abstraction)和封装(encapsulation)的区别

...言有助于使用抽象类和接口实现数据抽象。 什么是封装(encapsulation)? 封装将数据和方法组合到一个单元中。封装的主要目的是保护数据的安全。它类似于医用胶囊。药物是在胶囊内,它是覆盖和保护从外部世界。 Figure 01: Encapsu...

  • 发布于 2021-06-30 17:01
  • 阅读 ( 1224 )

数据挖掘(data mining)和预测分析(predictive analytics)的区别

数据挖掘和预测分析的主要区别在于,数据挖掘是使用算法和挖掘工具识别数据隐藏模式的过程,而预测分析是将业务知识应用于发现的模式以进行预测的过程。 数据挖掘是在大型数据集中发现模式的过程。它提取数据实体之...

  • 发布于 2021-07-01 00:14
  • 阅读 ( 435 )

大数据(big data)和数据分析(data analytics)的区别

大数据与数据分析的主要区别在于,大数据是大量的复杂数据,而数据分析是对数据进行检查、转换和建模,以识别有用信息并支持决策的过程。 大数据是指海量的数据。这些数据可以是结构化的、非结构化的或半结构化的。...

  • 发布于 2021-07-01 00:22
  • 阅读 ( 1006 )

数据隐藏(data hiding)和抽象(abstraction)的区别

数据隐藏和抽象的主要区别在于,数据隐藏有助于保护数据,而抽象有助于隐藏系统的复杂性。 面向对象编程(Object-Oriented Programming,OOP)是一种比使用结构化编程(structured Programming)等其他范式更容易为现实世界场景创建解...

  • 发布于 2021-07-01 13:14
  • 阅读 ( 317 )

封装(encapsulation)和c语言中的抽象#(abstraction in c#)的区别

...键术语 抽象,C#,封装,.NET Framework,OOP 什么是c封装#(encapsulation in c#)? 封装将数据和方法连接到一个单元中。例如,假设一个医疗胶囊。这种覆盖物保护胶囊内的药物。封装与此类似。 封装的主要目的是防止访问数据。在C#...

  • 发布于 2021-07-01 14:04
  • 阅读 ( 379 )

抽象(abstraction)和数据隐藏(data hiding)的区别

抽象和数据隐藏是面向对象程序设计的重要概念。抽象是一个通过对背景细节进行输出来表达关键属性的过程,而数据隐藏则将数据与程序直接访问隔离开来。然而,这两个概念听起来都是相似的,但它们是不同的。抽象提供...

  • 发布于 2021-07-08 07:24
  • 阅读 ( 252 )

抽象(abstraction)和封装(encapsulation)的区别

...图 基本 抽象 封装 定义 发展不系统所需的要素。 Encapsulation is a process of developing a complex system  成就 通过封装实现。 通过使aclass成员成为私有实现的。 聚焦 重点是应该做什么 重点是如何做到这一点。 应用 在设计阶...

  • 发布于 2021-07-08 07:25
  • 阅读 ( 167 )

数据隐藏(data hiding)和数据封装(data encapsulation)的区别

...括数据隐藏和封装。数据隐藏(data hiding) vs. 数据封装(data encapsulation)数据隐藏和数据封装的区别在于,数据隐藏指的是一个进程,而数据封装是该进程的子进程的一部分。这两个概念,一个是另一个的一部分,有不同的含义。它...

  • 发布于 2021-07-11 22:24
  • 阅读 ( 255 )
芭啦芭滴滴
芭啦芭滴滴

0 篇文章

相关推荐