界面對象在Java中,如果我想知道MyClass類型的多少對象,我可以通過這種方式計數器在Java中
public class MyClass {
public static int count = 0;
public MyClass() {
count++;
}
//other stuff
//...
}
然後定義MyClass的,只是打電話
MyClass.count
我可以得到創建的對象的數量。
我想知道是否有一種方法可以使用界面來做同樣的事情,例如如果我有我的界面叫做ICountable,那麼我怎麼知道當時有多少個ICountable的對象在我的程序中。我正在考慮用工廠模式來做這件事,但是在任何設計方式中,我都會注意到缺點,所以我還沒有找到一個可行的解決方案,有沒有人知道這樣做的好方法?
你知道你將不得不首先實現你的接口嗎?所以我假設你將使用一個「實現」你的iCountable接口的類的對象? – ha9u63ar 2014-10-27 10:14:51
除非你可以對實現你的接口的人進行一些控制,否則這是不可能的,除非你願意把你的接口變成一個抽象類。但是由於Java具有單一實現繼承,所以可能會干擾其他事情。 – 2014-10-27 10:16:02
是的,當然,但我怎麼能強制執行計數系統的所有類實現我的界面?我如何獲得所有ICountable對象的數量,而不必爲所有實現類別單獨計算並對其進行總結? – Carmine 2014-10-27 10:17:13