方法
本课属于 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;
}
}创建一个计算器对象:
$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]"
亲手试试
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: 存入 100
// TODO: 取出 30
// TODO: 按以下格式打印余额:"Current balance: $[balance]"
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: PHP 在线编译器