2013-12-20 89 views
0

我正在編寫一個Java程序,將用戶界面與程序邏輯分開(我想要有不同的用戶界面) 所以我想保證,有能力使用我的程序的某些功能。特別是,這意味着我有一個類與一些功能,我想有一個保證,這些功能將被執行(或至少,他們的地方被稱爲)。反向接口

更具體一點: 我在Java中編寫了一個Roguelike,應該有一個經典的終端接口(只使用鍵)和一個帶窗口的接口(使用鼠標提供)。在程序邏輯中有一個打開門的功能。現在我想保證在所有用戶界面中,打開門的命令不會在沒有編譯器錯誤的情況下被遺忘。不知何故,我想有一個反接口:D 有沒有辦法?

(UML中的解釋,而不是Java的將是一件好事)

+0

有一些靜態分析工具可以幫助解決這個問題。 –

回答

0

在這裏,你遇到了在口頭上有一定差距。你給接口命名的是用戶界面,用戶界面,他們將作爲類來實現。不是接口。

而那些使您的UI具備所需功能的描述稱爲接口。很好笑,不是嗎? :-)

public interface DoorView{ 
    void openDoor(Orientation: openingDirection); 
} 
... 
public class WinDoorView implements DoorView{ // this line will be marked 
     //as erroneous until you will write the function openDoor for the class 

} 
public class AsciiDoorView implements DoorView{ 
    void openDoor(Orientation: openingDirection){ 
     //graphics realization 
    } 
} 

enter image description here

在你的概念部分你會DoorView工作。

而基於接口的類必須具有它的所有功能 - 它將由編譯器控制。