Menu
Coddy logo textTech

メソッド

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

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

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

<?php
class Calculator {
    public function greet() {
        echo "Hello! I'm a calculator.\n";
    }

    public function add($a, $b) {
        return $a + $b;
    }

    public function multiply($x, $y) {
        $result = $x * $y;
        echo $x . " × " . $y . " = " . $result . "\n";
        return $result;
    }
}

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

$myCalc = new Calculator();

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

$myCalc->greet();

引数を指定してメソッドを呼び出す:

$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";

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

$product = $myCalc->multiply(4, 7);

出力:

Hello! I'm a calculator.
8
4 × 7 = 28

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

  • add($a, $b) のように引数を受け取る
  • return $a + $b; のように値を返す
  • echo "Hello!"; のように出力を直接表示する
  • 表示と返却の両方を行う

重要なポイント: メソッドは、オブジェクトができることを定義します。クラス内でメソッドを定義するには、public functionキーワードを使用します。オブジェクトに対して->演算子を使用してメソッドを呼び出します。

challenge icon

チャレンジ

簡単

bank_account.php 内に、以下の内容を持つ BankAccount クラスを作成してください:

  1. public $balance プロパティ
  2. 金額を受け取り、それを残高に加算する deposit メソッド
  3. 金額を受け取り、それを残高から減算する withdraw メソッド
  4. 現在の残高を返す getBalance メソッド

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

チートシート

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

public function を使用して、クラス内にメソッドを定義します:

<?php
class Calculator {
    public function greet() {
        echo "Hello! I'm a calculator.\n";
    }

    public function add($a, $b) {
        return $a + $b;
    }

    public function multiply($x, $y) {
        $result = $x * $y;
        echo $x . " × " . $y . " = " . $result . "\n";
        return $result;
    }
}

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

$myCalc = new Calculator();
$myCalc->greet();
$sumResult = $myCalc->add(5, 3);
$product = $myCalc->multiply(4, 7);

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

  • パラメータを受け取る: add($a, $b)
  • 値を返す: return $a + $b;
  • 出力を表示する: echo "Hello!";
  • 表示と返却の両方を行う

自分で試してみよう

<?php
require_once 'bank_account.php';

$myAccount = new BankAccount();
$myAccount->balance = 0;

// TODO: 100を入金する

// TODO: 30を引き出す

// TODO: 「Current balance: $[balance]」の形式で残高を表示する
quiz icon腕試し

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

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