use*_*325 11 inheritance constructor dart
在Dart中,我有以下代码:
class FirstClass {
FirstClass(a) {
}
}
class SecondClass extends FirstClass {
}
Run Code Online (Sandbox Code Playgroud)
这会导致错误,SecondClass因为FirstClass它没有默认构造函数.
但是,当我尝试添加一个.
class FirstClass {
FirstClass(a) {
}
FirstClass() {
}
}
Run Code Online (Sandbox Code Playgroud)
它是错误的,因为已经定义了默认构造函数FirstClass.
我似乎只能使这项工作而不是错误的唯一方法是,如果超类根本没有实现任何构造函数.我究竟做错了什么?
Ale*_*uin 15
在dart中,您不能多次使用相同的方法/构造函数名称(即使使用不同的参数).
在您的情况下,您可以使用命名构造函数来定义2个构造函数:
class FirstClass {
FirstClass() {}
FirstClass.withA(a) {}
}
Run Code Online (Sandbox Code Playgroud)
或定义a为可选,并只保留一个构造函数:
class FirstClass {
FirstClass([a]) {}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2286 次 |
| 最近记录: |