[Dart理解度テスト010]final キーワードはどのような場合に使いますか?

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

 

問題

final キーワードはどのような場合に使いますか?

  1. 再代入可能な変数
  2. 初回代入後に変更できない変数
  3. グローバル変数
  4. 定数

正解と解説動画

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

正解

2.初回代入後に変更できない変数

解説動画

Dartでプログラミングしてると、変数宣言で「final を使う場面ってどんな時?」と迷うこと、ありませんか?そんな疑問を解消するために、この動画では final の基本的な使い方や、似たようなキーワードである const との違いを詳しく解説しています。

 

final キーワードの基本

  • final って何?
    一言で言うと、「一度設定した値を二度と変えられなくする」 キーワードです。
    例えば、定期的に変わる値は必要だけど、一度設定したら絶対に変更させたくない!みたいな時に使います。

  • どう使うの?
    実際にコードで確認してみましょう。

void main() {
  final maxSpeed = 120; // 初回代入
  // maxSpeed = 150; // エラー: 再代入はできません!
  print(maxSpeed); // 出力: 120
}

ポイントは、final を使った変数は 再代入できない ということ。値を固定して「これ以上変えちゃダメ!」とガッチリ守りたい時に使います。

const との違い

final と一緒によく出てくるのが const 。これ、似てるようで全然違うんですよね。

  • final の特徴

    • 値はプログラム実行中に決定。
    • 動的に決まる値(例えば現在時刻とか)も設定可能。
  • const の特徴

    • 値はコンパイル時に決定。
    • 動的な値は使えない。
void main() {
  final currentTime = DateTime.now(); // 実行時に現在時刻を設定
  // const currentTime = DateTime.now(); // エラー: const には動的な値を設定できません
}

つまり、実行時に値が動的に変わる場合は final を選ぶのが正解!逆に、絶対に変わらない定数なら const を使えばOKです。

 

スコープと final の使いどころ

スコープって何?

スコープとは変数が「どこまで使えるか」の範囲のことです。例えば、クラス全体で使えるプロパティ(グローバル変数っぽいもの)と、メソッド内だけで使えるローカル変数があります。

class Car {
  final int maxSpeed = 200; // クラス全体で使えるプロパティ
  void showSpeed() {
    final int currentSpeed = 100; // メソッド内だけで使えるローカル変数
    print('Max Speed: $maxSpeed, Current Speed: $currentSpeed');
  }
}

void main() {
  final car = Car();
  car.showSpeed();
}
  • maxSpeed
    クラス全体でどのメソッドからでもアクセス可能。安心してどこでも使える共有変数的な存在です。
  • currentSpeed
    メソッド内でしか使えないローカル変数。閉じられた範囲内でだけ使えます。

まとめ

  • final は、一度値を設定したら変更したくない変数に使う。
  • const は、コンパイル時に値が決定する「絶対固定」な定数に使う。
  • スコープ(変数が使える範囲)を意識して、適切に使い分けることが大事。

Dartの final はプログラムの安全性を高めてくれる頼れるキーワードです。これを使いこなして、バグの少ないコードを書いていきましょう!次はぜひ const との違いもしっかり理解して、実践に活かしてくださいね。

(注)以下のフォームより当社公式メールマガジンにご登録頂くことで
約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