渡されたパラメーターが true の場合にのみ初期化したいクラスがいくつかあります。このメソッドのすべての実装は同じですが、異なるクラスに使用されているだけです。
public static NamedScene getScene(boolean init) {
if (mainMenu == null) {
mainMenu = new MainMenu();
}
if (init) mainMenu.init();
return mainMenu;
}
このメソッドを抽象化したいので、呼び出しによって手動でアクセスする必要はありませんがMainMenu.init(true);
、scene.init(true);
シーンが抽象クラスを拡張する場所を使用します。
抽象メソッド getName() を介してアクセスされる名前など、すべてのクラスにいくつかのデフォルト プロパティがあります。メソッドが init() なしでクラス インスタンスを返す場合もあれば、init() を使用する場合もあると思います。