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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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,是否可以从构造函数中的父类自动初始化字段 我发现语法错误: 无法将参数初始值设定项“this.name”与任何字段匹配 类类型{ 字符串名; } 类语言扩展了类型{ 字符串id; 语言(此名称){ 虽然您的案例很常见,但此时,客户特别指出: 执行初始化形式this.id会导致将相应实际参数的值分配给紧邻类的字段id 这从本质上告诉我们,构造函数参数中的This.variable表示法仅适用于立即类中的变量,而不适用于任何父类。有两种解决方案可用:第一种是在构造函数的主体中分配它: 类类型{ 字符

是否可以从构造函数中的父类自动初始化字段

我发现语法错误:

无法将参数初始值设定项“this.name”与任何字段匹配

类类型{
字符串名;
}
类语言扩展了类型{
字符串id;
语言(此名称){

虽然您的案例很常见,但此时,客户特别指出:

执行初始化形式this.id会导致将相应实际参数的值分配给紧邻类的字段id

这从本质上告诉我们,构造函数参数中的
This.variable
表示法仅适用于立即类中的变量,而不适用于任何父类。有两种解决方案可用:第一种是在构造函数的主体中分配它:

类类型{
字符串名;
}
类语言扩展了类型{
字符串id;
语言(姓名){
this.name=名称;
}
}
或者,如果我们可以将父类更改为具有将初始化变量的构造函数,则可以在子类中使用初始值设定项列表:

类类型{
字符串名;
类型();
键入.withName(此.name);
}
类语言扩展了类型{
字符串id;
语言(名称):super.withName(名称);
}
这是假设由于某种原因,
Type
的默认构造函数不会自动初始化
name
,因此我们创建了第二个命名构造函数