gpt4 book ai didi

java - 接口(interface)定义的关系的术语

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:09 28 4
gpt4 key购买 nike

如果继承是用于实现is-a 关系的 OO 技术,而组合/聚合实现了has-a 关系,则实现的关系的适当名称是什么通过 Java/.NET 风格的界面是什么?

我非常喜欢can-do 关系这个术语,因为这样的接口(interface)通常用于指定支持的操作,例如SortableClonable 等加上这听起来确实是肯定的。我真正看到的唯一想到的名字是意识到关系,但它并没有真正描述那么多。

最佳答案

在大多数面向对象的编程语言中,接口(interface)和类都通过继承传递它们的关系,而继承是一种is-a关系,无论是接口(interface)、类、抽象类等。 ..

事实上,类本身就是一种接口(interface),它们也只是提供了一个实现。没有实现的抽象类和接口(interface)之间没有太大区别,尽管内部实现可能有一些差异。 (最大的问题是在 Java 和 .NET 中你不能继承多个抽象类)

所以从概念oop的角度来说,is-a就是继承。 has-a 是包含/组合/聚合/whateveryouwanttocallit,

术语“实现”更像是“继承”或“子类”的子类。你不能继承一个接口(interface),但你可以实现它。这是一个更详细的细节,尽管它具有特定的含义。

并非所有语言都有接口(interface)。例如,C++ 就没有。然而,你可以像我之前提到的那样用没有实现的抽象类来伪造它们,但是由于 C++ 允许多重继承,这个问题就不是什么大问题(只要它们是没有实现的纯抽象类,如果你开始混合编码到它们然后它变得更毛茸茸)

关于java - 接口(interface)定义的关系的术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25324076/

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