2016-07-12 6 views

答えて

3

注釈は、言語設計者がその使用を強制したくないため、言語の一部ではありませんでした。

この機能は、アナライザーツールでのみ認識されますが、実際には言語の一部ではありません。

+0

...彼らはそれが必要であることを望んでいないので彼らはオプションにしましたか?私はそれがこのように意図されていないと確信していますが、これは特に役に立たないようです。 – KOGI

+1

彼らは言語の一部としてそれを望んでいなかったので、オプションにしました。ダーツでは、メソッドをオーバーライドするために何かを書く必要はありません。だから、実際には、*オプションではありません。*言語の観点からは、*全くありません。言語がそれを持っていなくても、その機能を望んでいる人もいれば、 '@ override'アノテーションとアナライザのサポートを追加した人もいます。注釈は実際にはプラットフォームライブラリにあるのではなく、アナライザで認識された他の注釈と一緒に 'package:meta'になければなりません。 – lrn

3

@Override表記の​​目的はスーパークラスのメンバーの名前を変更状況、およびメンバーをオーバーライドするために使用される独立したサブクラスをキャッチすることで、静かにスーパークラスを使用して作業を続けることができ実装。

明示的にオーバーライドすることなく、メソッドをスーパークラスと同じ名前にしたい場合があります。これは制約を壊さないので許可されます。 基本的には、必要に応じてメソッドに名前を付けることができます。

@Overrideあなたの両親は、同じ署名を持つメソッドを持つ必要があります。

+0

ありがとうこのコンテンツとpubspec.yamlファイル以外のプロジェクトに.analysis_optionsファイルを追加することで

を施行するリンタールールを有効にすることができます!私が実際に助けた説明を見つけたのは初めての検索です。 (明らかに、公式の文書を読むと、私はそれを覆しました) – KOGI

3

あなたは

linter: 
    rules: 
    - annotate_overrides 
関連する問題