目次

unnecessary_overrides

同じパラメータを持つsuperメソッドの呼び出しを行うためにメソッドをオーバーライドしないでください。

このルールはDart 2.0から利用可能です。

ルールセット:corerecommendedflutter

このルールにはクイックフィックスがあります。

詳細

#

しないでください 同じパラメータを持つsuperメソッドの呼び出しを行うためにメソッドをオーバーライドしないでください。

悪い例

dart
class A extends B {
  @override
  void foo() {
    super.foo();
  }
}

良い例

dart
class A extends B {
  @override
  void foo() {
    doSomethingElse();
  }
}

以下の場合、メンバーをオーバーライドしても有効です

  • 型(戻り値の型またはパラメータの型)がsuperメンバーと完全に同じでない場合、
  • パラメータの1つに`covariant`キーワードが追加されている場合、
  • メンバーにドキュメントコメントがある場合、
  • `@override`以外の注釈がメンバーにある場合、
  • メンバーに`@protected`の注釈がなく、superメンバーにある場合。

`noSuchMethod`は特別なメソッドであり、このルールではチェックされません。

使用方法

#

`unnecessary_overrides`ルールを有効にするには、`analysis_options.yaml`ファイルの**linter > rules**の下に`unnecessary_overrides`を追加します。`analysis_options.yaml`

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_overrides