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

Fel*_*lix 4 dart

我来自 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)才能执行泛型类型参数约束。除了非常简单的集合泛型之外,没有太多例子。有人可以向我指出继承和泛型系统的解释,这将为我提供一个清晰的概念模型吗?

小智 6

实现多个接口是可能的。

写吧class SomeClass implements Interface1, Interface2{...}

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