抽象数据类型(ADT)

抽象数据类型(ADT)是一种数据类型的数学模型。我们可以把抽象数据类型看作是一个黑盒子。由于黑盒子隐藏了内部结构,ADT隐藏了数据类型的设计。一个抽象数据类型的行为(语义)可以从数据用户的角度来指定,特别是在潜在值、对这种数据类型的潜在操作以及这些操作的行为方面。它是用户定义的数据类型。
它是一个概念性的抽象定义,代表数据和数据操作。抽象数据类型关注的是什么,而不是怎么做(它们被装饰性地表达出来,并且它们不指定算法或数据结构)。例子包括列表、堆栈、队列和集合。

对象

对象不是实现抽象的唯一方法。它实现了程序性的数据抽象,这一点很多人都知道。抽象数据类型以一种不同的方式接近抽象。当我们定义一个类时,没有分配内存,但当我们实例化(即创建一个对象)时,内存被分配。
一个对象是一个类的实例,有它自己的任何非静态变量的副本。

抽象数据类型和对象的区别 :

抽象数据类型 对象
抽象数据类型是一种抽象,它定义了一组值和对这些值的一组操作。 它是一个独立的组件,由方法和属性组成,使某些类型的数据变得有用。
用户定义的数据类型。 它是一个类的实例。
ADT是由原始数据类型组成的。 一个对象是一个抽象的数据类型,增加了多态性和继承性。
它是一个对象的类型(或类),其行为是由一组值和一组操作定义的。 它是面向对象编程的一个基本单位。
抽象数据类型不一定是一个OOP概念。 对象是一个OOP的概念。
常见的例子包括列表、堆栈、集合等。 对象有状态和行为: Test t = new Test();
当数据被存储时,分配内存。 当实例化一个对象时,就会分配内存。

抽象数据类型和对象的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:抽象数据类型和对象的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-abstract-data-types-and-objects.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。