我来自 ac# 背景,仍在学习 Dart。我对 Darts 继承和泛型感到困惑。
我的要求是这样的:
具有属性“id”的基类,将其称为 A。
定义方法“speak()”的接口,将其称为 B。
这两件事必须是正交的。有些具体类将扩展 A,有些将实现 B,有些则两者兼而有之。
现在....我想要一个方法:
int mymethod<T extends A and also implements B>(T item){
item.speak();
return item.id;
};
Run Code Online (Sandbox Code Playgroud)
这可能吗?我发现自己必须构建继承链(B 扩展 A)才能执行泛型类型参数约束。除了非常简单的集合泛型之外,没有太多例子。有人可以向我指出继承和泛型系统的解释,这将为我提供一个清晰的概念模型吗?