Dartのclass文

Flutter/Dart

この記事では、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
}
タイトルとURLをコピーしました