2017-03-21 16 views
4

継承を伴うクラスを作成する上で、実際にはオーバーライドの注釈が必要なものがあります。しかし、PolymerDartで作業する場合、具体的にはPolymerDartメソッドに@overrideを入れる目的は何ですか?

@override 
attached(){...} 

私はそれが必要な理由はありません。これは期待通りに動作します。

これは単なるアノテーションなので、デベロッパーが見ることで、関数が他の関数をオーバーライドしていることを理解できるのでしょうか?

私の考えは、それは開発者のためだけであり、何らかの実行を実行する他の注釈とは異なり、これらはしません。

答えて

3

あなたはlinterルールannotate_overridesを有効にした場合DartAnalyzerは、スーパークラスやインタフェースの他のメンバーをオーバーライドしますが、@override注釈を持つメンバーの@override注釈

  • を持っていないメンバーのためのヒント

    • を提供スーパークラスやインタフェースの他のメンバーを実際にオーバーライドしません。

    注釈は、メンバがオーバーライドされたときに表示されるため、一貫して使用すると便利です。
    linterルールは、それが一貫して使用されることを保証します。

    'overridden_fields lintもありますが、AFAIKはこれで非推奨になる予定です。これは最近までDart Developmentコンパイラでは禁止されていましたが、この制限は削除されました。私はそれがまだ落胆しているかどうかは分かりませんが、意味がある場合がありますので、有効なコードのヒントを引き起こす傾向があるため、リンタールールをもう使用しないでください。

  • 関連する問題