首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个或多个接口可以使用相同的方法吗?

两个或多个接口可以使用相同的方法吗?
EN

Stack Overflow用户
提问于 2018-10-13 17:35:42
回答 1查看 81关注 0票数 4

我正在用Java做一个简单的游戏,我对此表示怀疑。

假设每个游戏角色都有一个接口

代码语言:javascript
复制
public interface Entity{
   Vector2 getPosition();
   /* More methods...*/
}

然后,我想创建一个名为Automata的接口,它由每个使用AI组件的类实现(这可能是实体的特例,但由于可重用性,我认为它是分开的)。

代码语言:javascript
复制
public interface Automata{
  Vector2 getPosition(); // The AI stuff needs to know this
  /* More methods needed for AI (some may also be the same as Entity)... */
}

我认为这促进了模块化,因为每个接口都描述自己的方法,而不必担心其他接口的存在,但在编写这篇文章时,我觉得我在重复自己,那么,使用相同方法的这两个(或者更多)接口会有什么不好的地方吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-13 17:43:10

如果两个接口之间有一些共同之处,那么也许您可以定义一个父接口,然后EntityAutomata可以扩展它。

让我在下面说明一下:

代码语言:javascript
复制
interface AI {
    Vector2 getPosition();
}

interface Entity extends AI { }
interface Automata extends AI { }

这样,作为人工智能一部分的任何其他接口都不需要显式地添加另一个方法,而只需要扩展AI

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52795580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档