0Pricing
Dart Academy · レッスン

組み込みアノテーション: override、deprecated

ツールやチームメンバーに意図を伝えます

「組み込みアノテーション: override、deprecated」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

アノテーションとは

アノテーションとは、@記号を使ってコードに付加するメタデータです。実行されるものではなく、ツールやアナライザー、チームのメンバーに情報を伝えます。🏷️

@構文

アノテーションは、宣言の直前の行に置きます。@接頭辞によって、Dartはそのトークンを通常の式ではなくメタデータとして扱います。

@override
String toString() => 'Cat';

@overrideを使う

@overrideアノテーションは、スーパークラスやインターフェースのメソッドを意図的に置き換えることを示します。意図を明確に記録できます。

class Dog extends Animal {
  @override
  void speak() => print('Woof');
}

@overrideが役立つ理由

メソッド名を誤って入力したり、シグネチャが変わったりすると、アナライザーが警告します。つまり@overrideによって、気づきにくいタイプミスを早期に見えるエラーへ変えられます。

@deprecatedを使う

@deprecatedアノテーションは、APIが古くなったことを示します。それを使用するコードは動作し続けますが、アナライザーが取り消し線付きの警告を表示します。⚠️

@deprecated
void oldLogin() {}

理由付きで非推奨にする

@Deprecatedにメッセージを付けて、呼び出し側を置き換え先へ誘導します。テキストはツールチップやエディターの警告に表示されます。

@Deprecated('Use signIn() instead')
void login() {}

アノテーションは引数を受け取る

アノテーションの中にはコンストラクター呼び出しであるものがあり、括弧内で引数を受け取ります。先ほど見た@Deprecated('...')形式がその一例です。

@pragmaを使う

@pragmaアノテーションは、Dartコンパイラーやランタイムにヒントを渡します。高度な機能ですが、ライブラリコードを読むときに認識できると便利です。

@pragma('vm:entry-point')
void handler() {}

アノテーションは実行されない

覚えておきましょう。アノテーションは受動的なラベルです。それ自体が実行されることはありません。値はtools、アナライザー、コードジェネレーターなどによって読み取られます。

配置できる場所

classes、メソッド、フィールド、パラメーターなどにアノテーションを付けられます。各アノテーションには、宣言時に使用可能な対象が定義されています。

@deprecated
class LegacyService {}

アノテーションを重ねる

1つの宣言に複数のアノテーションを重ねて付けられます。それぞれを別の行に記述します。順序によって動作は変わらないため、読みやすさを考えて記述してください。

@override
@deprecated
void render() {}

クイックチェック

メソッドが親のメソッドを置き換えていることを示すアノテーションを選んでください。

まとめ

組み込みアノテーションを3つ学びました。意図を示す@override、警告を示す@deprecated、コンパイラーへのヒントを示す@pragmaです。いずれも受動的なメタデータです。🎉

よくある質問

「組み込みアノテーション: override、deprecated」レッスンは無料ですか?

はい。「組み込みアノテーション: override、deprecated」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「組み込みアノテーション: override、deprecated」で何を学びますか?

ツールやチームメンバーに意図を伝えます ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「組み込みアノテーション: override、deprecated」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 組み込みアノテーション: override、deprecated
  2. カスタムアノテーションの作成
  3. build_runner によるコード生成
  4. json_serializable の実践
← Dart Academyに戻る