[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
}

この例では、親クラス Vehiclemove メソッドを子クラス 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 はその機能を上書きする。

(注)以下のフォームより当社公式メールマガジンにご登録頂くことで
約6時間のFlutter動画講座が無料で受講できます!

(メールマガジンは登録無料・いつでも解除可)

[体験版]
ゼロからのFlutter
(Flutter初級編) 

 

【体験版講座に含まれるもの】
・約70本・約6時間の動画テキスト
・1つの課題アプリのソースコード
・Flutterアプリを作るための「環境構築ライブサポート(Google Meet)」
(「体験版」は全30時間超の「製品版」の約1/6を抜粋した講座です。「製品版」の詳細はこちらから)

 

【当社公式メルマガご登録6大特典】

\約6時間動画講座を無料プレゼント!/
今すぐ無料体験版に申し込む ▶
無料メルマガ登録で講座割引クーポンなど6大特典ゲット!

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

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)

はじめての方へ


みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

みんプロ作成アプリ





みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
TOP