2011-09-12 27 views
4

基本上我在我的Gui類中有一個打印和附加文本的方法,我需要在其他類(如我的Player類)中使用該方法。我如何使用該方法?如果我要在播放器類中創建另一個Gui對象,它會創建另一個JPanel,這對不對?如果我需要將該方法轉移到另一個班級,請作爲我的客人提出建議。多謝你們!如何使用不同類中實例化的對象的方法?

+0

是的,創建另一個GUI對象將是一個壞主意,因爲它不會與顯示的GUI具有相同的對象。 StriplingWarrier的建議(1+)要好得多,因爲這可以爲您提供對當前可視GUI對象的引用。 –

+1

實際上,不 - 您不需要使用該方法,這是您的設計決定。順便說一句,這很糟糕,因爲它將視圖類耦合到數據類中。 – kleopatra

回答

5

如果Player類需要呼籲GUI類的方法,爲什麼沒有Player類採取GUI實例作爲構造函數的參數?所以無論代碼如何創建Player將不得不告訴它應該用於這種方法調用的東西。

這是一種稱爲依賴注入的方法,通常被認爲優於單例或靜態方法。

+2

下面是關於依賴注入的衆所周知的文章之一:http://martinfowler.com/articles/injection.html – avh

+0

非常感謝=]真的有幫助(並且工作太:P) –

相關問題