gpt4 book ai didi

oop - 关于面向对象编程的抽象数据类型 vs 数据类型 vs 数据结构

转载 作者:行者123 更新时间:2023-12-04 18:07:19 24 4
gpt4 key购买 nike

据我了解,数据结构本质上是一个蓝图,其中包含根据其规范创建最终产品所需的所有信息,而数据类型是该设计的物理实现或实现(非常类似于基因型之间的差异)和表型,来自生物学)。

当谈到面向对象的编程时,是否准确地说抽象类或接口(interface)是一种数据结构,因为它包含一组值和声明的行为,并且实现该抽象类或接口(interface)的类是一个数据类型,因为它是那些行为的具体体现?

如果是这种情况,那么 之间的区别呢?抽象数据类型 (ADT) 和 数据类型 ?它们是真正不同的,还是 ADT 只是通俗地缩写为“数据类型”?

我问这个是因为在我看来,这些术语在谈话中经常可以互换使用,这让我怀疑我的理解是否不正确。

最佳答案

抽象数据类型

  • 定义行为和状态管理的契约(Contract)协议(protocol)
  • 抽象数据类型仅在概念上存在。它们在语言的语境中没有具体的存在。这就是为什么 Wikipedia 将其专门称为 mathematical model。 .

  • 数据结构
  • 由抽象数据类型定义的契约的类级实现。
  • 数据结构以构成类定义的代码形式存在。

  • 数据类型
  • 类的具体实例
  • 数据类型以从您定义的类创建的对象的形式存在。

  • 例子
  • 优先队列是一种抽象数据类型,可以用二进制堆数据结构来实现。
  • List 是一种抽象数据类型,可以用数组或链表数据结构来实现

  • TLDR

    抽象数据类型 > 数据结构 > 数据类型

    关于oop - 关于面向对象编程的抽象数据类型 vs 数据类型 vs 数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24515506/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com