解決すべき実際の問題ではなく、技術と実装について質問があります。最近、サブクラスの共通の動作を定義する抽象クラスを作成しました。これを A と呼びましょう。
これを使用して、いくつかのサブクラス B、C、および D を構築し、それらをタイプ A を受け取るスーパークラス - サブクラス構造の外部にある他のメソッドに渡します (したがって、B、C、および D のすべてを処理できます)。
Java では、instanceof を使用して真の型を取得しますが、実際の型に多くのキャストを行う必要があり、混乱しているように見えます。コードをよりきれいにする方法について何か提案はありますか?
私が試した方法の 1 つは、スーパークラスのパラメーターからサブクラス型のインスタンスを再構築することでした。これにより、実際の型でオブジェクトを処理し、型キャストを回避できました。これらのサブクラスはそれぞれシングルトンなので (そうです、状態を維持します)、そうしても問題ないと思います。これは面倒なことのように思えますか?
答えてくれた人に感謝します。
編集:イタリック体でさらに明確化を追加しました。ありがとう。