MENU
カテゴリー
\気になるカテゴリーをクリック!/
MENU
\気になるカテゴリーをクリック!/
Dartのクラスは、オブジェクト指向プログラミングの中で非常に重要な概念であり、Flutterアプリ開発においても重要な役割を担うことになります。そこで、今回はFlutterのDartにおけるclassの基本を初心者向けに解説します。
不明点などありましたら、お気軽にお問い合わせ下さい。
フリーランスのFlutterエンジニアとして働きたい方にオススメのエージェントはこちらで詳しく解説しています。
基本的に、クラスは特定のオブジェクトのスキーマを定義することができます。 大きく分けて、クラスには、変数(フィールド)と関数(メソッド)が含まれます。
class ClassName {
// 変数fields
int variable1;
String variable2;
// methods
void method1() {
// some code
}
int method2() {
// some code
return someValue;
}
}
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);
}
コンストラクタとは、インスタンス生成後に自動で呼び出される特別なメソッドです。特別なメソッドなため定義方法が以下の通りに決まってます。
また、コンストラクタ内で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は、クラス名の頭に_
(アンダースコア)を書くことで、他のクラスからアクセスできないようにできます。
以下では、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におけるclassの基本と使い方について解説しました。
Dartのクラスは、オブジェクト指向プログラミングの中で非常に重要な概念であり、Flutterアプリ開発においても重要な役割を担うことになります。しっかり理解しておきましょう!
Flutterエンジニアになるには?
初心者が中級者レベルのFlutterエンジニアなるまでの進め方をまとめました。
Flutterの学習方法を知る
Flutter をスクールで学ぶ
Flutterの副業を探す
おまけ:Flutter入門の完全ガイド
Flutter/Dartの基礎一覧
Flutter/Dartの入門知識として押さえておきたい内容をまとめました。学習のご参考にどうぞ。
Widget(ウィジェット) 一覧
Dart 基本文法
ライブラリ 使い方
コメント