gpt4 book ai didi

java - 接口(interface)真的可以用来实现多重继承吗

转载 作者:行者123 更新时间:2023-11-30 08:09:40 24 4
gpt4 key购买 nike

这个问题困扰我很久了。许多人说我们可以通过接口(interface)实现多重继承,例如 C# 或 Java 不像 C++ 那样支持它。但是我对继承和接口(interface)的理解说不。因为接口(interface)是验证与行为无关的实现的契约。接口(interface)定义了某物可以做什么(而不是某物是什么)。但是继承是从 parent 那里继承行为和/或属性(property)(就像一个 child 从他的 parent 那里得到一些遗传行为——这就是继承)。现在 child 正在学习一种技能,比如绘画和 cooking ,界面(证书或契约(Contract))作为 child 拥有这些技能的验证(这是 child 除了从 parent 那里得到的东西之外可以做的 - 这就是不是继承)

我是不是理解错了?如果不是那么为什么说我们可以使用接口(interface)实现多重继承?

最佳答案

接口(interface)为您提供了一种类型的多重继承,但没有行为。实现 ListMap 的类是一个“ListMap”,但实现与任何现有的 List 没有任何关系(必然) > map 实现。

当然,使用组合(无论如何应该受到青睐),您可以轻松地创建一个 ListMap,它将调用相应地委托(delegate)给它的 listmap 属性,同时提供一些可能有用的函数来组合它们各自的数据。

Java 8 接口(interface)允许使用默认方法,因此现在也可以继承行为。

关于java - 接口(interface)真的可以用来实现多重继承吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32296099/

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