コンストラクタはclassからインスタンスを作る時に初期値を渡す仕組みです。
この記事の結論
FlutterではWidgetやModelでコンストラクタを頻繁に使います。required付きの名前付き引数に慣れると読みやすくなります。
通常コンストラクタ
短いclassではthisを使って簡潔に書けます。
class User {
User(this.name);
final String name;
}
final user = User("Sato");
名前付き引数
引数名を見ながら渡せるので、Flutter Widgetでよく使われます。
class Post {
Post({required this.title, required this.body});
final String title;
final String body;
}
final post = Post(title: "Hello", body: "Dart");
デフォルト値
省略時の値を指定できます。
class ButtonConfig {
ButtonConfig({this.enabled = true});
final bool enabled;
}
実装後に確認すること
- 小さなコードで実行結果を確認したか
- 型を意識して書いているか
- Flutterで使う場面を説明できるか
- エラーやnullの可能性を無視していないか
よくあるつまずき
- JavaScriptと同じ感覚で型を曖昧にする
- サンプルを読んだだけで実行しない
- 1つの記事で周辺文法まで詰め込みすぎる
- Flutter Widget内に複雑な処理を書きすぎる
次に読む記事
- Dartのデータ型|int・double・String・bool・null安全を初心者向けに解説 — Dartの基本データ型を初心者向けに解説します。int、double、String、bool、List、Map、null安全、型推論の使い分けを確認します。
- Dartの文字列|Stringの作り方・埋め込み・改行・数値変換を解説 — DartのStringを初心者向けに解説します。文字列の作り方、変数埋め込み、複数行文字列、数値変換、FlutterのText表示で使う基本を整理します。
- Dart async awaitの使い方|Futureを順番に待つ基本を初心者向けに解説 — Dartのasync/awaitを初心者向けに解説します。Futureとthenの関係、awaitで待つ書き方、try-catch、Future.wait、Flutterでローディング表示につなげる考え方を整理します。
まとめ
Dart constructorはFlutter開発前に押さえたいDart基礎です。最小コードで動きを確認し、次にFlutterの画面やAPI処理へつなげましょう。