最近は改めてオブジェクト指向について見直す機会が多いです
いざゲーム会社で働いてみると仕様変更が多く
綺麗にコーディングしていないと対応に時間がかかってしまうので・・・
例えばタイトル画面でスタートボタンとオプションボタンを表示する場合
public class TitleScene { private ButtonUI startButtonUI; private ButtonUI optionButtonUI; }
今まではこのように共通のボタンクラスのインスタンスを保持していましたが
public class TitleScene { private StartButtonUI startButtonUI; private OptionButtonUI optionButtonUI; }
スタートボタンはスタートボタンのクラス、
オプションボタンはオプションボタンのクラスを用意して
それぞれのインスタンスを保持するようにしています
こうしておけばスタートボタンだけに動きの演出をつけることになった場合
StartButtonUIクラスに処理を記述していけば良いので
TitleSceneクラスは最小限の変更で済みます
自分のことは自分でやらせておくと修正が楽です