considier、私はclass GUIManager
のシンプルなMineSweeperGameのコードを書いています。ここで関連する一連のデータメンバーと関数をグループ化する方法。そのグループの1つのインスタンスのみが存在する必要があります。
、
class GUIManager{
class GameBoardManager{...}
class IconManager{...}
class BoardMenuBar{...}
class BoardManager{...}
class DataManager{...}
}
しかし、私は、私はすべての内部クラスの正確に一つのインスタンスが必要です
を感じた本当の不安なもの。 私はこのコードの将来の開発者と(BLOCKQUOTEに与えられた)、この情報を伝達する方法はありません唯一のグループ化を促進するために、これらの内部クラスを作って、読みやすさ
。
したがって、私の質問は、クラスの任意の特殊なタイプは、そのクラスの唯一のオブジェクトを作成することができるようなことが可能であり、
のですか? 2つのオブジェクトを作成すると、コンパイルエラーが発生します。または(blockqouted)情報を主張するために今私がしなければならないこと。
要素にアクセスしながら、シナリオを悪化さ
public class GUIManager extends JFrame
{
final GameBoardManager gUIGameBoard;
final BoardMenuBar menuBar;
final GameInfoDisplayer gameInfoDisplayer;
final DataManager dataManager;
final IconManager iconManager;
.....
}
を作り、私が使用する必要があり、gUIGameBoard.boardButton[][]
、gUIGameBoard.dimensionOfBoard
、gUIGameBoard.boardColor
等...
このような方法でアクセスしている間、それはのように聞こえます。..私はGameBoardManager
のための多くのオブジェクトを持っており、ここで私はgUIGameBoard
の要素にアクセスしています。しかし、実際のところ、GameBoardManager
は1つしかありません。GUIManager
の場合のみ可能です。これは、他の内部クラスオブジェクトと同様の場合です。
私の質問は? GUIManager
にはGameBoardManager
が1つだけ必要です。内部クラスを作成せずに関連するアイテムをグループ化することは可能です。以来、内部クラスのオブジェクトにアクセスしている間、私は多くを持っているように聞こえます。