【发布时间】:2018-10-13 17:35:42
【问题描述】:
我正在用Java制作一个简单的游戏,我有这个疑问。
假设每个游戏角色都有一个界面
public interface Entity{
Vector2 getPosition();
/* More methods...*/
}
然后我想创建一个名为 Automata 的接口,由每个使用 AI 东西的类实现(这可能是 Entity 的一个特例,但由于可重用性,我单独考虑了它)
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)... */
}
我认为这促进了模块化,因为每个接口都描述了它的方法而不用担心其他接口的存在,但是当我写这篇文章时,我觉得我在重复自己,拥有这两个(或可能更多)接口也是如此用同样的方法有什么不好的吗?
【问题讨论】:
-
这取决于语义,如果这两个方法应该具有相同的含义,您可以在由其他两个扩展的第三个接口中定义它。