unnecessary_overrides
不要重写方法以对具有相同参数的超级方法调用进行操作。
此规则自 Dart 2.0 起可用。
此规则有 快速修复 可用。
详情
#不要重写方法以对具有相同参数的超级方法调用进行操作。
错误示例
dart
class A extends B {
@override
void foo() {
super.foo();
}
}
正确示例
dart
class A extends B {
@override
void foo() {
doSomethingElse();
}
}
在以下情况下,重写成员是有效的
- 如果类型(返回类型或参数类型)与超级成员完全不同,
- 如果向其中一个参数添加了
covariant
关键字, - 如果成员上有文档注释,
- 如果成员具有除
@override
之外的注释, - 如果成员没有用
@protected
注释,而超级成员则有。
noSuchMethod
是一种特殊方法,此规则不检查它。
用法
#要启用 unnecessary_overrides
规则,请在您的 analysis_options.yaml
文件中添加 unnecessary_overrides
到 linter > rules 下
analysis_options.yaml
yaml
linter:
rules:
- unnecessary_overrides
除非另有说明,否则本网站上的文档反映了 Dart 3.5.3。页面最后更新时间为 2024-07-03。 查看源代码 或 报告问题.