Menu
CoddyTech

Phương thức

Thuộc phần Lập trình hướng đối tượng trong hành trình PHP của Coddy. Bài học 5 trên 91.

Phương thức (method) là các hàm (function) thuộc về một lớp. Chúng xác định hành vi hoặc hành động mà các đối tượng có thể thực hiện.

Đây là ví dụ về một lớp có các phương thức:

<?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;
    }
}

Tạo một đối tượng máy tính:

$myCalc = new Calculator();

Gọi một phương thức không cần tham số:

$myCalc->greet();

Gọi các phương thức với tham số:

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

Gọi một phương thức vừa in ra vừa trả về một giá trị:

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

Đầu ra:

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

Phương thức có thể:

  • Nhận tham số như add($a, $b)
  • Trả về giá trị như return $a + $b;
  • In ra đầu ra trực tiếp như echo "Hello!";
  • Vừa in ra vừa trả về

Điểm chính: Phương thức định nghĩa những gì đối tượng có thể làm. Dùng các từ khóa public function để định nghĩa một phương thức bên trong một lớp. Gọi phương thức bằng toán tử -> trên một đối tượng.

challenge icon

Thử thách

Dễ

Tạo một lớp (class) BankAccount trong bank_account.php với:

  1. Một thuộc tính (property) public $balance
  2. Một phương thức (method) deposit nhận một khoản tiền và cộng khoản đó vào số dư
  3. Một phương thức withdraw nhận một khoản tiền và trừ khoản đó khỏi số dư
  4. Một phương thức getBalance trả về số dư hiện tại

Sau đó, trong driver.php, tạo một tài khoản có số dư 0, nạp $100, rút $30 và in số dư theo định dạng: "Current balance: $[balance]"

Tự làm thử

<?php
require_once 'bank_account.php';

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

// TODO: Nạp 100 vào tài khoản

// TODO: Rút 30 khỏi tài khoản

// TODO: In số dư theo định dạng: "Current balance: $[balance]"
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch PHP online