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

数据抽象和封装之间的主要区别在于,数据抽象隐藏了实现细节,只向用户显示功能,以降低代码复杂性,而封装将数据和方法绑定或包装到一个单元中,并隐藏细节以保护数据。...

数据抽象和封装之间的主要区别在于,数据抽象隐藏了实现细节,只向用户显示功能,以降低代码复杂性,而封装将数据和方法绑定或包装到一个单元中,并隐藏细节以保护数据。

面向对象编程(OOP)有助于将真实世界的场景建模到软件中。它是一种使用类和对象设计程序的范例或方法。类是创建对象的蓝图。换句话说,它是一个创建对象的结构。它由属性和方法组成。属性描述属性或数据,方法描述操作或行为。没有类就不可能创建对象。因此,对象是类的实例。数据抽象和封装是OOP中的两个概念。

覆盖的关键领域

1.什么是数据抽象—定义、用法2.封装是什么—定义、用法3.数据抽象和封装的区别——关键差异比较

关键术语

数据抽象、封装、面向对象

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

什么是数据抽象(data abstraction)?

数据抽象是指隐藏内部细节,只显示功能。换句话说,它隐藏了实现细节,只是向外界展示了特性。一个现实世界的例子是电视。用户不需要知道内部电子电路和观看电视的功能。另一个例子是使用移动电话。用户不需要知道内部处理。他只需要知道一些主要功能,比如打电话、发信息或浏览互联网。

数据抽象在软件开发中提供了优势。最重要的是,它降低了代码复杂性。此外,它还隐藏了细节并公开了基本特性。支持OOP的语言有助于使用抽象类和接口实现数据抽象。

什么是封装(encapsulation)?

封装将数据和方法组合到一个单元中。封装的主要目的是保护数据的安全。它类似于医用胶囊。药物是在胶囊内,它是覆盖和保护从外部世界。

Difference Between Data Abstraction and Encapsulation

Figure 01: Encapsulation

实现封装的方法是使用访问修饰符,如“private”和“public”。它们改变了数据或方法的可见性。私有成员只能在类内访问,而公共成员可以在类内或由其他类访问。

通过将数据成员或属性私有化,并通过公共方法(例如getter和setter)访问这些成员或属性,可以实现OOP语言中的封装。同样,封装将数据和方法压缩到一个单元。此外,它还为数据提供保护。

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

定义

数据抽象是一个OOP概念,它隐藏了实现细节,只向用户显示功能。封装是一个面向对象的概念,它将数据和方法绑定或包装到一个单元中。

主要用途

数据抽象隐藏实现细节,以降低代码复杂性,而封装则隐藏数据以进行数据保护。这是数据抽象和封装在两者的使用方面的主要区别。

实现方法

OOP语言使用抽象类和接口来实现数据抽象。相反,OOP语言可以通过使数据成员私有化并通过公共方法访问它们来实现封装。

结论

数据抽象和封装是面向对象编程中的两个概念。数据抽象和封装的区别在于,数据抽象隐藏实现细节以降低代码复杂度,而封装隐藏细节以保护数据。

引用

1.教程要点。”Java封装。“Www.tutorialspoint.com,Tutorials Point,2018年3月24日,此处提供。2.“Java抽象”,Geeksforgeks,2017年11月14日,此处提供。3.“Java封装”,Javatpoint,此处提供。 2.“Java中的抽象”,Geeksforgeks,2017年11月14日, 3.“Java封装”Javatpoint,

  • 发表于 2021-06-30 17:01
  • 阅读 ( 1216 )
  • 分类:IT

你可能感兴趣的文章

游离神经末梢(free nerve endings)和封装的(encapsulated)的区别

...嘴唇。此外,它们对轻触有反应。 什么是包裹神经末梢(encapsulated nerve endings)? 与游离神经末梢不同,包裹的神经末梢不包含神经传递的开放端。因此,与游离神经末梢相比,包裹神经末梢的敏感性较低。一些机械感受器有包...

  • 发布于 2020-10-16 00:28
  • 阅读 ( 493 )

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

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

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

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

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

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

面向对象编程中抽象的初学者指南

... 什么是抽象什么(abstract and what)? ...

  • 发布于 2021-03-30 04:01
  • 阅读 ( 259 )

抽象类(abstract class)和c中的接口#(interface in c#)的区别

...让我们详细讨论一下两者的理论方面。 什么是抽象类(an abstract class)? 抽象类是一种特殊类型的类,它充当其他类的基,不能实例化。抽象类的实现逻辑由其派生类提供。为了使一个类抽象,使用了“abstract”修饰符,这意味着...

  • 发布于 2021-06-25 03:34
  • 阅读 ( 355 )

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

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

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

抽象类(abstract class)和java接口(interface in java)的区别

...键术语 抽象类、接口、多重继承 什么是java中的抽象类(abstract class in java)? 用abstract关键字声明的类称为抽象类。抽象类既可以有抽象方法,也可以有非抽象方法。类可以扩展抽象类并实现抽象类的抽象方法。不能从抽象类创...

  • 发布于 2021-07-01 01:29
  • 阅读 ( 277 )

工厂模式(factory pattern)和抽象工厂模式(abstract factory pattern)的区别

...ShapeFactory以获取所需的对象类型。 什么是抽象工厂模式(abstract factory pattern)? 抽象工厂模式使用超级工厂并创建其他工厂。它也被称为工厂的工厂。在这种模式中,接口创建相关对象的工厂,而不显式指定它们的类。换言之,...

  • 发布于 2021-07-01 06:13
  • 阅读 ( 187 )

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

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

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

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

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

  • 发布于 2021-07-01 14:04
  • 阅读 ( 373 )
赖李生存
赖李生存

0 篇文章

相关推荐