是否可以在 Dart 中实现多个接口?如果是这样,是否可以限制泛型参数来实现两者?

  • 本文关键字:是否 实现 泛型 参数 如果 Dart 接口 dart
  • 更新时间 :
  • 英文 :


我来自c#背景,仍在学习Dart。我对飞镖继承和泛型感到困惑。

我的要求是这样的:

具有属性"id"的基类,称为 A。

定义方法"speak(("的接口,称为B。

这两件事必须是正交的。一些具体的类将扩展 A,有些将实现 B,有些将同时具有两者。

现在。。。。我想要一种方法:

int mymethod<T extends A and also implements B>(T item){
item.speak();
return item.id;
};

这可能吗? 我发现自己必须构建继承链(B 扩展 A(才能执行泛型类型参数约束。 除了非常简单的集合泛型之外,没有多少例子。 有人可以指出我对继承和泛型系统的解释,这将为我提供一个清晰的概念模型吗?

可以实现多个接口。

只需写class SomeClass implements Interface1, Interface2{...}.

遗憾的是,创建需要实现多个接口的泛型是不可能的,如此处所述。

最新更新