- FlutterでDart言語のclassについて知りたい!
Dartのクラスは、オブジェクト指向プログラミングの中で非常に重要な概念であり、Flutterアプリ開発においても重要な役割を担うことになります。そこで、今回はFlutterのDartにおけるclassの基本を初心者向けに解説します。
不明点などありましたら、お気軽にお問い合わせ下さい。
- classとは何か
- classの基本的な使い方
ちなみに、Flutterのスキルを0から効率的に伸ばす方法は、仕事として実務を経験することです。そして、最速で転職・就職・副業するには学習をどんどん進め、ポートフォリオを最優先で完成させましょう!応募できそうなFlutter案件をチェックすると必要なスキルも分かり学習に身が入ります!Flutter案件/求人の探し方はコチラで詳しく解説していますので、ご参考にして下さい。
【Dart】classとは
基本的に、クラスは特定のオブジェクトのスキーマを定義することができます。 大きく分けて、クラスには、変数(フィールド)と関数(メソッド)が含まれます。
class ClassName {
// 変数fields
int variable1;
String variable2;
// methods
void method1() {
// some code
}
int method2() {
// some code
return someValue;
}
}
【Dart】classの使い方と具体例
classにおける以下の使い方を解説します。
- クラスの定義
- 変数(フィールド)
- 関数(メソッド)
- コンストラクタ
- インスタンス
Classの定義
クラスの定義は、class クラス名
とします。クラス名の最初の文字は大文字にするのがルールです。
// 動物クラスを定義
class Animal {
}
変数(フィールド)
クラスはオブジェクトの属性を表す変数を持てます。フィールド、もしくはプロパティと言います。
// 動物クラスを定義
class Animal {
// 変数(フィールド)を宣言
String? type;
int? amount;
}
関数(メソッド)
メソッドは、オブジェクトの振る舞いを表す関数です。
インスタンスにアクセスするメソッドがインスタンスメソッドです。
// 動物クラスを定義
class Animal {
// 変数(フィールド)を宣言
String? type;
int? amount;
// メソッド - 関数の指定
void howSing(String singPattern) {
print(singPattern);
}
}
インスタンス化
クラスを元にオブジェクトを生成することをインスタンス化と言います。インスタンスは変数に代入して使います。クラス型 変数名 = 新しいクラス名
とします。 コンストラクタはインスタンス化されるときに最初に呼び出されるブロックです。
void main() {
// インスタンス化 - [Animal]の内容を[animalDog ]でも使えるする
Animal animalDog = Animal(type: '犬', amount: 2000);
}
コンストラクタ化
コンストラクタとは、インスタンス生成後に自動で呼び出される特別なメソッドです。特別なメソッドなため定義方法が以下の通りに決まってます。
- クラスと同名で定義
- 戻り値を書かない(voidも書かない)
また、コンストラクタ内でthis
を使い現在のインスタンスを参照し、オブジェクトには.
を使い参照します。
// 動物クラスを定義
class Animal {
// 変数(フィールド)を宣言
String? type;
int? amount;
// コンストラクタ化 - 再利用したいプロパティやメソッド指定
Animal({required this.type, required this.amount});
}
クラスのサンプルコード全文
クラスの定義から、インスタンス化、コンストラクタ化のプログラムソースの全文のとなります。
// 動物クラスを定義
class Animal {
String? type;
int? amount;
// コンストラクタ化 利用したいプロパティ指定
Animal({required this.type, required this.amount});
// メソッド - 関数の指定
void howSing(String singPattern) {
print(singPattern);
}
}
void main() {
// インスタンス化
Animal animalDog = Animal(type: '犬', amount: 2000);
// animaldogの中身を出力する
print(animalDog.type);
print(animalDog.amount);
animalDog.howSing('わんわん!');
}
Private _(アンダースコアについて)
Privateは、クラス名の頭に_
(アンダースコア)を書くことで、他のクラスからアクセスできないようにできます。
以下では、void mainからAnimal classにはアクセスできない例となります。
// 動物クラスを定義
class _Animal {
String? type;
int? amount;
// コンストラクタ化 利用したいプロパティ指定
Animal({required this.type, required this.amount});
}
void main() {
// インスタンス化
Animal animalDog = Animal(type: '犬', amount: 2000);
// animaldogの中身を出力する
print(animalDog.type);
print(animalDog.amount);
}
【Dart】クラスはオブジェクト指向プログラミングの中で非常に重要な概念!
今回の記事ではDartにおけるclassの基本と使い方について解説しました。
Dartのクラスは、オブジェクト指向プログラミングの中で非常に重要な概念であり、Flutterアプリ開発においても重要な役割を担うことになります。しっかり理解しておきましょう!
Flutterエンジニアになるには?
初心者が中級者レベルのFlutterエンジニアなるまでの進め方をまとめました。
Flutterの学習方法を知る

Flutter をスクールで学ぶ

Flutterの副業を探す

おまけ:Flutter入門の完全ガイド

Flutter/Dartの基礎一覧
Flutter/Dartの入門知識として押さえておきたい内容をまとめました。学習のご参考にどうぞ。
- ローカルデータベース(SQLite)
- グラフ①(fl_chart)
- グラフ②(syncfusion_flutter_charts)
- カレンダーから日付取得①(syncfusion_flutter_datepicker)
- カレンダーから日付取得②(month_picker_dialog_2)