我有一些基类Entity
。我想允许用户Entity
创建Entity
扩展某些给定超类 T 的实例(好像Entity
s 声明是Class Entity extends T
)。我不知道 T 实际上是什么,所以我想Entity
在这方面是模块化的。如果那不可能,我也可以Entity
实现给定的接口 T 。
喜欢public class Entity<T> extends T
和public class Entity<T> implements T
不工作的事情。(“不能将类型参数 T 称为超类型”)。
所以我的问题是:
1)这完全有可能在java中实现吗?其他语言?
2)如果是这样,怎么办?
3)通常当java设置这样的障碍时,这意味着我的设计有问题,那么你将如何创建这个功能(我想我正在寻找的基本上是来自Entity和T的多重继承,可以这样做吗?) .
编辑:澄清 - 我想实现mixin类型的行为,同时尽可能少地要求调用者(创建 T 的子类,它将调用委托给 Entity 实例将需要调用者太多)。没有其他方法可以做到这一点吗?