gpt4 book ai didi

Java:什么是接口(interface)不一致?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:45 25 4
gpt4 key购买 nike

我已经尝试用谷歌搜索这个,但找不到可接受的答案。当您使一个类实现 2 个或更多彼此不兼容的接口(interface)时,接口(interface)不一致吗?例如:

public interface Lion()
{
public void eat();
}

public interface Tiger()
{
public void eat();
}

public class Liger implements Lion, Tiger
{
public void eat(); //Problem: How does it eat? Like a lion or tiger?
}

我是正确的还是偏离了基础?

最佳答案

在Java中,你可以保证编译为同一个函数的两个接口(interface)方法返回相同的“类型”......因此,在这种情况下,接口(interface)不一致可以引用:

  1. 当您实现 2 种实现完全相同功能的方法时,它们具有不同的副作用,或者方法签名中无法表达的不同基础假设/算法...即“看起来”相同的两种方法但那“做”不同的概念性任务。

  2. 还有(非 java 特定的)GU​​I 内涵,其中用户体验令人困惑,相似的组件用于不同的任务(反之亦然,相同的任务由不同的 GUI 组件触发) .

1 的解决方案是拥有一个更具表现力的接口(interface),或更精确的函数名称(以举例说明更复杂的接口(interface):也许 Lion 和 Tiger 应该提供一个 Eater 对象,它能够以一种或多种不同的方式进食).

关于Java:什么是接口(interface)不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8529227/

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