簡體   English   中英

兩個或更多接口可以使用相同的方法嗎?

[英]Is it okay for two or more interfaces to have the same methods?

我正在用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)... */
}

我認為這促進了模塊化,因為每個接口都描述了它的方法,而不用擔心其他接口的存在,但是當我寫這篇文章時,我覺得我在重復自己,所以這兩個(或可能更多)接口使用相同的方法什么壞事?

如果兩個接口之間存在共同點,那么您可以定義父接口,然后EntityAutomata可以擴展它。

我在下面說明一下:

interface AI {
    Vector2 getPosition();
}

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

這樣,作為AI一部分的任何其他接口都不需要顯式添加另一個方法,而只需擴展AI

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM