メソッド
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キーワードを使用します。オブジェクトに対して->演算子を使用してメソッドを呼び出します。
チャレンジ
簡単bank_account.php 内に、以下の内容を持つ BankAccount クラスを作成してください:
public $balanceプロパティ- 金額を受け取り、それを残高に加算する
depositメソッド - 金額を受け取り、それを残高から減算する
withdrawメソッド - 現在の残高を返す
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]」の形式で残高を表示する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。