基本クラスがありEntity
ます。のユーザーが特定のスーパークラスTを拡張Entity
するインスタンスを作成できるようにしたい( s宣言がそうであるかのように)。Tが実際に何であるかを知らないので、その点でモジュール化したいと思います。それが不可能な場合は、特定のインターフェイスTを実装しても問題ありません。Entity
Entity
Class Entity extends T
Entity
Entity
のようなものpublic class Entity<T> extends T
とpublic class Entity<T> implements T
動作しません。(「タイプパラメータTをスーパータイプとして参照することはできません」)。
だから私の質問は:
1)これはJavaで達成することは可能ですか?他の言語?
2)もしそうなら、どのように?
3)通常、Javaがそのようなハードルを設定する場合、それは私のデザインに何か問題があることを意味します。そのため、この機能をどのように作成しますか(私が探しているのは、基本的にEntityとTからの多重継承ですが、これは可能ですか?) 。
編集:説明-呼び出し元からの要求をできるだけ少なくしながら、ミックスインタイプの動作を実現したいと思います(エンティティインスタンスへの呼び出しを委任するTのサブクラスを作成すると、呼び出し元からの要求が多すぎます)。これを行う他の方法はありませんか?