【问题标题】:Interfaces and Data Structures接口和数据结构
【发布时间】:2015-08-04 21:31:39
【问题描述】:

接口是面向对象的数据结构吗?

为给定问题编写数据结构等面试问题的解决方案看起来很像 Iterfaces,接口和数据结构是否相同?

例如扑克牌的数据结构包括看起来很像接口的方法签名

【问题讨论】:

  • 我一般会查找一些关于数据结构的文献,仅仅认为接口可以是数据结构或反之亦然是一个模棱两可的问题。
  • @Kozmik 你的解释是什么?
  • 那么您认为接口是什么?您认为哪种数据结构与接口是同义词(您可以指的结构不止一种)?你提供了一个例子,但它过于宽泛——也许给出一个更深入的例子会有所帮助,或者进一步解释一下你对扑克牌数据结构的注意事项?使用什么数据结构?
  • @Kozmik 我虽然很清楚这一点...创建一个数据结构和相关的方法来定义和操作一副标准的扑克牌...您还需要什么信息?想知道你的解释
  • 我对你对标准扑克牌的解释感到困惑——你会使用什么数据结构来操作你所说的扑克牌?该数据结构与接口有何关系? @GrayCygnus - 很好地回答了您的问题,因为接口与数据结构无关。我更想帮助你找到答案,但格雷说得更简洁。

标签: data-structures interface object-oriented-analysis


【解决方案1】:

也许你应该检查What is the definition of "interface" in object oriented programming

“接口”可以有多种含义,但在 OOP 领域,它可以被视为所有实现(即显式使用接口)该接口的类都同意的“契约”。它还与多态性(即具有具有不同种类和数量的参数的函数)和覆盖(这是在使用它的类中“编写”已实现函数的特定代码时所做的事情)的概念有关.

我会说接口和数据结构是一回事。数据结构是一个比较笼统的概念,包括列表、数组、栈、哈希表等几种普通结构。接口不存储任何类型的数据,除了自己的代码,如上所述,只获得实际含义实施时。

查看它的另一种方法是考虑接口是实际程序(具有您选择的扩展),数据结构是否是在程序中使用的东西,通常包含在使用的语言的语法,或者可以用其他工具和数据结构构建的(比如你可以实现自己的节点,然后用它们来实现我们自己的列表,然后修改它做一个堆栈等) .

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 2021-06-16
    • 1970-01-01
    • 2011-03-03
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多