MENU

MENU

カテゴリー

\気になるカテゴリーをクリック!/

やきいも
文系SE
【プロフ】
 ▶ 30代半ば
 ▶ ITエンジニア13年目 | 業務システム
 ▶ 妻と息子の3人で田舎の暮らし

【サイト運営】
このブログは私の体験をもとに以下に関する情報をお届けしています。
 ▶ AI
 ▶ Java
 ▶ Flutterなど
Udemyセール!最大95%オフ!1,200円~3月の最新セール情報をみる

【Dart】classの基本を3分で解説!初心者が押さえておくべきポイントは?

この記事には広告を含む場合があります。
  • FlutterでDart言語のclassについて知りたい!

Dartのクラスは、オブジェクト指向プログラミングの中で非常に重要な概念であり、Flutterアプリ開発においても重要な役割を担うことになります。そこで、今回はFlutterDartにおけるclassの基本初心者向けに解説します。

不明点などありましたら、お気軽にお問い合わせ下さい。

この記事で分かること!
  • classとは何か
  • classの基本的な使い方

フリーランスの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の入門知識として押さえておきたい内容をまとめました。学習のご参考にどうぞ。

Widget(ウィジェット) 一覧

Dart 基本文法

ライブラリ 使い方

コメント

コメントする

CAPTCHA


目次