annotate_overrides
成員 '{0}' 覆蓋了繼承的成員,但未標註 '@override'。
描述
#當成員覆蓋了繼承的成員,但未標註 @override 時,分析器會生成此診斷資訊。
示例
#以下程式碼會生成此診斷資訊,因為類 B 中的方法 m 覆蓋了類 A 中同名的方法,但未標記為有意覆蓋
dart
class A {
void m() {}
}
class B extends A {
void m() {}
}常見修復方法
#如果子類中的成員旨在覆蓋超類中的成員,則新增 @override 標註
dart
class A {
void m() {}
}
class B extends A {
@override
void m() {}
}如果子類中的成員並非旨在覆蓋超類中的成員,則重新命名其中一個成員
dart
class A {
void m() {}
}
class B extends A {
void m2() {}
}