我尝试用泛型创建一个抽象类。业务逻辑是将文本从一种语言翻译成另一种语言。每种语言都必须有一个Translator
类。我还需要LanguageTranslation
为每种语言创建一个类,它是translate
方法的返回对象,它接受参数T
。T 应该是OriginalText
(例如,EnglishText、ChineseText 等)的子类。这就是我挣扎的地方。你如何编码这个约束?
我创建了以下超类。
public abstract class Translator <T, V> {
public abstract <V extends LanguageTranslation> V translate(T originalText);
}
如果我误解了泛型的概念或应用错误,请指出。谢谢。