Menu
Coddy logo textTech

メソッド

CoddyのDartジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 6/110。

メソッドは、クラスに属する関数です。これらは、オブジェクトが実行できる振る舞いやアクションを定義します。

以下は、メソッドを持つクラスの例です。

class Calculator {
  void greet() {
    print('Hello! I am a calculator.');
  }

  int add(int a, int b) {
    return a + b;
  }

  int multiply(int x, int y) {
    int result = x * y;
    print('$x x $y = $result');
    return result;
  }
}

Dartのメソッドシグネチャには、常に戻り値の型が含まれます。メソッドが何も返さない場合は、voidを使用します。

calculatorオブジェクトを作成します:

Calculator myCalc = Calculator();

引数を必要としないメソッドを呼び出します:

myCalc.greet();

引数を指定してメソッドを呼び出し、戻り値を取得します:

int sumResult = myCalc.add(5, 3);
print(sumResult);

値を出力し、かつ値を返すメソッドを呼び出します:

int product = myCalc.multiply(4, 7);

出力:

Hello! I am a calculator.
8
4 x 7 = 28

メソッドは以下のことが可能です:

  • int add(int a, int b) のような戻り値の型を持つ
  • return を使用して値を返す
  • print() を使用して出力を直接表示する
  • 何も返さない場合は void になる

重要なポイント: ドット演算子を使用してオブジェクトのメソッドを呼び出します: object.methodName(args)

challenge icon

チャレンジ

簡単

bank_account.dart 内に BankAccount クラスを作成し、以下のものを含めてください:

  1. 0 に設定された double balance インスタンス変数
  2. double amount を受け取り、それを balance に加算する deposit メソッド
  3. double amount を受け取り、それを balance から減算する withdraw メソッド
  4. 現在の balance を返す getBalance メソッド

次に driver.dart で、アカウントを作成し、100 を預け入れ、30 を引き出し、次の形式で残高を表示してください:'Current balance: $[balance]'

チートシート

メソッドはクラスに属する関数であり、オブジェクトが実行できる振る舞いを定義します。

戻り値の型を指定してメソッドを定義します。メソッドが何も返さない場合は void を使用します:

class Calculator {
  void greet() {
    print('Hello! I am a calculator.');
  }

  int add(int a, int b) {
    return a + b;
  }

  int multiply(int x, int y) {
    int result = x * y;
    print('$x x $y = $result');
    return result;
  }
}

ドット演算子を使用して、オブジェクトのメソッドを呼び出します:

Calculator myCalc = Calculator();
myCalc.greet();  // パラメータなし

int sumResult = myCalc.add(5, 3);  // パラメータあり、戻り値をキャプチャ
print(sumResult);

int product = myCalc.multiply(4, 7);  // 出力して値を返す

メソッドは戻り値の型を持つことができ、return を使用して値を返したり、print() を使用して直接出力を表示したり、何も返さない場合は void にしたりすることができます。

自分で試してみよう

import 'bank_account.dart';

void main() {
  BankAccount myAccount = BankAccount();
  myAccount.balance = 0;

  // TODO: 100を入金する

  // TODO: 30を引き出す

  // TODO: 次の形式で残高を表示する: 'Current balance: $[balance]'
  // Hint: 出力をきれいにするために balance に対して .toInt() を使用する
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

オブジェクト指向プログラミングのすべてのレッスン