Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 动态扩展类_Dart - Fatal编程技术网

Dart 动态扩展类

Dart 动态扩展类,dart,Dart,我想知道是否有可能动态扩展一个类,我是Dart的新手,我正在寻找类似的东西(请忘记${whatever}只是为了说明): 假设我试图从另一个函数实例化它: var myDinamic = new myClass<otherClass> var myDinamic=new myClass 希望这是有意义的,并提前感谢 一个类扩展另一个类只能静态定义,而不能在运行时定义。最接近这一点的可能是使用泛型类型参数配置类型 另见 - - 抽象类SomeInterface{} 类实现了Some

我想知道是否有可能动态扩展一个类,我是Dart的新手,我正在寻找类似的东西(请忘记${whatever}只是为了说明):

假设我试图从另一个函数实例化它:

var myDinamic = new myClass<otherClass>
var myDinamic=new myClass

希望这是有意义的,并提前感谢

一个类扩展另一个类只能静态定义,而不能在运行时定义。最接近这一点的可能是使用泛型类型参数配置类型

另见
-
-

抽象类SomeInterface{}
类实现了SomeInterface{}
类B实现了一些接口{}
C类{
T doSomething(T arg){return arg;}
}
main(){
新C();
新C();
//不起作用
//var t=A;
//新C();
}
但是类型参数也需要静态定义。不能将变量用作泛型类型参数。

简而言之:否。 Dart要求所有类都有一个超类。您所要求的是拥有一个类来更改每个实例的超类。这并不是一个单一的类——不可能说这个类有哪些成员,因为它实际上是一个不同的类,可以选择超类

var myDinamic = new myClass<otherClass>
abstract class SomeInterface {}
class A implements SomeInterface {}
class B implements SomeInterface {}
class C<T extends SomeInterface> {
  T doSomething(T arg) { return arg; }
}
main() {
  new C<A>();
  new C<B>();
  // does NOT work
  // var t = A;
  // new C<t>();
}