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

数据隐藏,在计算机科学中也称为信息隐藏或数据封装,是一种用于面向对象编程(OOP)的软件开发技术。它主要用于隐藏内部对象细节,即计算机程序中最有可能改变的设计决策。这会对其他部分程序隐藏数据,这样当数据或设计决策发生变化时,它们不会对整个程序产生影响,只是对那些细节不被隐藏的部分。这反过来又使整个程序更加稳定,因为一个程序中的一个部分的单一变化不大可能改变整个程序。...
关键区别:数据隐藏,在计算机科学中也称为信息隐藏或数据封装,是一种用于面向对象编程(OOP)的软件开发技术。它主要用于隐藏内部对象细节,即计算机程序中最有可能改变的设计决策。抽象是计算机科学中的另一个过程。它对数据和程序隐藏了实现细节。仅在程序要求时显示相关细节。
数据隐藏(data hiding)和数据抽象(data abstraction)的区别

数据隐藏,在计算机科学中也称为信息隐藏或数据封装,是一种用于面向对象编程(OOP)的软件开发技术。它主要用于隐藏内部对象细节,即计算机程序中最有可能改变的设计决策。这会对其他部分程序隐藏数据,这样当数据或设计决策发生变化时,它们不会对整个程序产生影响,只是对那些细节不被隐藏的部分。这反过来又使整个程序更加稳定,因为一个程序中的一个部分的单一变化不大可能改变整个程序。

数据隐藏还能够防止类或软件组件的某些方面被其客户端访问。这可以通过使用编程语言特性(如私有变量)或显式导出策略来实现。数据隐藏还通过限制软件组件之间的相互依赖性来降低系统复杂性,从而提高健壮性。

抽象是计算机科学中的另一个过程。它对数据和程序隐藏了实现细节。仅在程序要求时显示相关细节。

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

数据抽象允许程序员减少和分解细节,以便一次只关注几个概念。它只显示用户所需的详细信息,而所有其他详细信息和信息都是隐藏的。这简化了可用的数据,因此用户可能不必处理当时不必要的细节。

一个系统可以有几个抽象层。每一层都有不同的含义,隐藏着不同的细节。Wikipedia列出了这个例子:低层抽象层公开了运行程序的计算机硬件的细节,而高层抽象层处理程序的业务逻辑。

数据隐藏和数据抽象的主要区别在于,数据隐藏对程序的其他部分隐藏了一些数据。在程序员重写代码以取消隐藏数据之前,这些数据在程序的隐藏部分永远不可用。然而,在数据抽象中,数据并不是完全隐藏的。它只是没有显示,因为它目前并不相关。如果数据变得相关,那么它就会显示出来。

  • 发表于 2021-07-13 06:43
  • 阅读 ( 271 )
  • 分类:通用

你可能感兴趣的文章

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

数据隐藏(data hiding)和封装(encapsulation)的区别 面向对象程序设计(OOP)是程序设计的一个主要范式。它有助于使用对象开发程序或软件。对象是使用蓝图创建的。它被称为一个类。类由应该包含在对象中的属性和行为组成。类...

  • 发布于 2020-10-24 02:51
  • 阅读 ( 454 )

符合逻辑的(logical)和物理数据模型(physical data model)的区别

逻辑与物理数据模型 在讨论逻辑数据模型和物理数据模型之间的区别之前,我们必须知道什么是数据模型。数据模型是一种表示,用于描述某个流程的数据及其之间的关系。数据模型是数据库设计过程中使用的重要组件。逻...

  • 发布于 2020-10-27 04:55
  • 阅读 ( 661 )

数据(data)和信息(information)的区别

数据与信息 在我们的日常生活中,数据和信息的使用频率非常高。根据上下文的不同,这些词的含义和用法也不同。数据和信息都是一种知识或用来获得知识的东西。虽然可以互换使用,但这两个词的意思有许多不同之处。 数...

  • 发布于 2021-06-22 13:49
  • 阅读 ( 253 )

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

...藏了一些东西,但是它们也有各自的区别。 什么是抽象(abstraction)? 抽象是一个基本的OOP概念,它只关注对象的相关数据,隐藏所有不相关的细节,这些细节可能是通用的,也可能不是专用的行为。它隐藏了背景细节,强调了减...

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

抽象(abstraction)和虚拟化(virtualization)的区别

...允许多个虚拟机在单个物理机上运行。   什么是抽象(abstraction)? 抽象是在向用户和开发人员隐藏背景细节的同时表示基本特性的行为。虚拟化类似于抽象,但它并不总是隐藏底层的细节。抽象一词在计算行业中有多个层次的...

  • 发布于 2021-06-26 12:32
  • 阅读 ( 502 )

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

...键术语 数据抽象、封装、面向对象 什么是数据抽象(data abstraction)? 数据抽象是指隐藏内部细节,只显示功能。换句话说,它隐藏了实现细节,只是向外界展示了特性。一个现实世界的例子是电视。用户不需要知道内部电子电...

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

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

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

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

线性的(linear)和非线性数据结构(non linear data structures)的区别

线性数据结构和非线性数据结构的主要区别在于,线性数据结构以顺序方式排列数据,而非线性数据结构以层次方式排列数据,从而在数据元素之间建立关系。 数据结构是存储和管理数据的一种方式。数据结构分为线性数据结...

  • 发布于 2021-07-01 09:43
  • 阅读 ( 610 )

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

...总的来说,数据隐藏有助于保护类的成员。 什么是抽象(abstraction)? 抽象隐藏了内部细节,只向用户显示功能。换句话说,它隐藏了实现细节,并向外界展示了功能。例如,假设一个真实世界的应用程序,例如移动电话。用户不...

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

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

...t方法赋值,public get方法获取值。 什么是c语言中的抽象#(abstraction in c#)? 抽象有助于隐藏实现细节,只允许向用户显示功能。假设一台电视机的遥控器。用户不需要知道控制器的内部电路就可以使用它。抽象与此类似。它关注...

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

0 篇文章