[Dart理解度テスト008]@override アノテーションの目的は何ですか?

このページには広告が含まれる場合があります。

 

問題

@override アノテーションの目的は何ですか?

  1. 変数を最終的な値に設定することを示すため
  2. メソッドをオーバーライドしていることを明示するため
  3. クラスを継承していることを示すため
  4. 非同期処理であることを示すため

正解と解説動画

←「+」をクリックしてください

正解

2.メソッドをオーバーライドしていることを明示するため

解説動画

 

 

@override アノテーションとは?

@override は、「親クラスのメソッドを上書きしていますよ」 ということを明示するためのアノテーションです。

class Vehicle {
  void move() {
    print('Vehicle is moving');
  }
}

class Car extends Vehicle {
  @override
  void move() {
    print('Car is moving');
  }
}

void main() {
  Car myCar = Car();
  myCar.move(); // 出力: Car is moving
}

この例では、親クラス Vehicle の move メソッドを子クラス Car が上書き(オーバーライド)しています。@override を付けることで、親クラスと同じメソッドを意図的に変更していることが明示されています。

クラスの継承とオーバーライドの基本

そもそも「継承」とは何でしょうか?
簡単に言うと、既存のクラスをベースにして、新しいクラスを作る ことです。例えば、親クラスを「車」、子クラスを「トラック」と考えるとわかりやすいでしょう。

class Vehicle {
  void stop() {
    print('Vehicle is stopping');
  }
}

class Truck extends Vehicle {
  @override
  void stop() {
    print('Truck is stopping');
  }
}

void main() {
  Truck myTruck = Truck();
  myTruck.stop(); // 出力: Truck is stopping
}

この例では、Truck クラスが親クラス Vehicle を継承し、その stop メソッドをオーバーライドしています。

@override とクラス継承の違い

ここで間違えやすいのが、クラス継承 (extends) とメソッドのオーバーライド (@override) の違いです。

  1. クラス継承 (extends)

    • 子クラスが親クラスの機能をそのまま引き継ぎます。
    • extends を使うことで、親クラスのメソッドやプロパティを使用できます。
  2. メソッドのオーバーライド (@override)

    • 親クラスのメソッドの動作を子クラスで変更できます。
    • 変更する際に @override を使って明示するのがベストプラクティスです。

 

まとめ

  • @override アノテーションの目的

    • 親クラスのメソッドをオーバーライドしていることを明示する。
    • コードのミスを防ぎ、可読性を向上させる。
  • クラスの継承 (extends) と @override の違い

    • 継承は親クラスの機能をそのまま使う。
    • @override はその機能を上書きする。

こんな記事も読まれています

【無料】生年月日を入力するだけ!

あなたの知らない「あなた」がわかる
無料診断ツール

あすコロ式
使命・性格タイプ診断

生年月日を入力するだけで144通りの性格パターンを診断。あなたの知らない「本当のあなた(生きる目的・使命)」と「偽りのあなた(無意識の思いグセ)」がわかります!

今すぐ無料で診断する ▶
GAMBO(願望) ✦ 願望実現・目標達成の
17秒 / 68秒ワーク
GAMBO(願望) 引き寄せ難民だったぼくの挫折経験から生まれた誰でもできる願望実現サポートアプリ。かの有名な17秒/68秒ワークを独自の視覚化メソッドで簡単実践。
App Store / Google Play 詳しく見る →
Meiso(瞑想) ◎ 鐘音と自然音で
5分からのマインドフルネス
Meiso(瞑想) 初心者でも“迷わず続けられる”ことにこだわった、完全無料の瞑想アプリ。画面のガイドに従うだけで呼吸のリズムが整い、最短5分から瞑想を実践できます。
App Store / Google Play 詳しく見る →
小学生からの英検®単語 A ふりがな・音声付き
英検単語1日5分トレーニング
小学生からの英検®単語 ありそうでなかった!ふりがな付き英検®単語トレーニングアプリ!1日たった5分!スキマ時間を活用して、英検®頻出単語を効率的に習得。お子様の一人学習にも安心設計。
App Store / Google Play 詳しく見る →
オボエルンジャー ★ レトロゲームで
nバック脳トレ
オボエルンジャー 科学的脳力開発法「Nバック課題」をファミコン風8bitレトロゲームにアレンジした新感覚脳トレアプリ。記憶力・感情コントロール力・集中力の向上に。
App Store / Google Play 詳しく見る →
ゴイコイコイ 語 超高速フラッシュカードで
語彙習得
ゴイコイコイ 日常語1400語を視覚的に学べる、高速読み上げフラッシュカード式の語彙トレーニングアプリ。知育教室で行われるフラッシュカード学習を、家庭で“手軽に・安価に・正確に”再現。
App Store / Google Play 詳しく見る →

TOP