unnecessary_overrides
請勿覆寫方法以使用相同參數執行父類別方法呼叫。
詳細資訊
#請勿覆寫方法以使用相同參數執行父類別方法呼叫。
錯誤範例
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
檔案中,於 linter > rules 下新增 unnecessary_overrides
analysis_options.yaml
yaml
linter:
rules:
- unnecessary_overrides
如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 unnecessary_overrides: true
analysis_options.yaml
yaml
linter:
rules:
unnecessary_overrides: true
除非另有說明,否則本網站上的文件反映 Dart 3.7.1。頁面最後更新於 2025-03-07。 檢視原始碼 或 回報問題。