この記事では、Dartのclass文について書いていきます。
サンプル
// 1. クラスの定義
class Dog {
// プロパティ
String name;
int age;
// コンストラクタ(初期化のための特別なメソッド)
Dog(this.name, this.age);
// メソッド(普段使用している関数)
void bark() {
print('$name($age歳) : です。');
}
}
void main() {
// 2. クラスから「インスタンス(オブジェクト)」を作る varでも同じことができます
Dog myDog = Dog('ポチ', 3);
// 3. メソッドを呼び出す
myDog.bark(); // 出力: ポチ(3歳): です。
}
書き方
class クラス名{
//プロパティの宣言
//コンストラクタの初期化
//メソッド
}
void main(){
//インスタンスの作成.利用
}用語の解説
プロパティ
プロパティは、普段使用しているlength等と同じ意味です。使用するプロパティの型を変更できないように宣言している。ただ自作しただけ。
コンストラクタ
「インスタンスが作られる瞬間に、自動で実行される初期化のための関数」覚えるしかない。
メソッド
「関数」を自作しただけ。普段使用している「関数」と同じ意味
インスタンス
「実例」や「具体例」という意味。「クラス(設計図)を元にして、実際にコンピュータのメモリ上に作られた実体(モノ)」
その他のサンプル
class User {
String name;
String email;
// 引数を {} で囲むと「名前付き引数」になります。
// required をつけると、その引数が必須になります。
User({required this.name, required this.email});
void introduce() {
print('こんにちは、私の名前は $name です。連絡先: $email');
}
}
void main() {
// インスタンス化するときに、名前を指定して値を渡せます(順番はバラバラでもOK!)
User user = User(
email: 'hello@example.com',
name: 'アリス',
);
user.introduce(); // 出力: こんにちは、私の名前は アリス です。連絡先: hello@example.com
}
