OpenGL/GLE用のフレームワークの設計に取り組んでいます。Java継承の制限を克服する(ご意見/ご提案)
私は「テクスチャ」抽象クラスを作成しました。 Texture2DとTextureCubemapをTextureから継承しています。 Texture2DからはRenderTextureが、TextureCubemapにはRenderTextureCubemapがあります。今これはすべて正常に動作しますが、RenderTextureとRenderTextureCubemapはどちらも同じ数の類似点を共有します。私はそれらの間の現在の冗長性を削除したいと思います。他の言語では、これは多重継承のための最適な場所ですが、Javaではこれをサポートしていません。私の2番目のアイデアはインターフェースでした。ここで問題となっているのは、インターフェイスメソッドのボディを定義することができないため、実際に私に利益をもたらすものではありません。もう一つのオプションは、 "RenderTarget"クラスを作成し、これをメンバ変数として追加することです。これは動作しますが、 "RenderTarget"クラスで保持されているものにアクセスするたびにメンバ変数にジャンプする必要はありません"、それは一種のように思われる。
誰かがより洗練された解決策を提案できるかどうかは疑問です。
クラス図の形式のスクリーンショットを追加できますか?説明はうまくいきますが、画像はより良いでしょう。 –
Java 8以降、インターフェースには、本体がある 'default'メソッドを持つことができます。 –
@ JornVernee私はこれが 'default'の正しいユースケースではないと思っています。 – ajb