Menu
CoddyTech

Phương thức

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

Phương thức (method) là các hàm 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:

class Calculator:
    def greet(self):
        print("Hello! I'm a calculator.")
    
    def add(self, a, b):
        return a + b
    
    def multiply(self, x, y):
        result = x * y
        print(f"{x} × {y} = {result}")
        return result

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

my_calc = Calculator()

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

my_calc.greet()

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

sum_result = my_calc.add(5, 3)
print(sum_result)

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

product = my_calc.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(self, a, b)
  • Trả về giá trị như return a + b
  • In đầu ra trực tiếp như print("Hello!")
  • Vừa in ra vừa trả về giá trị

Điểm chính: Phương thức (method) xác định đối tượng của bạn có thể làm gì. Luôn thêm self làm tham số đầu tiên, nhưng đừng truyền tham số này khi gọi phương thức.

challenge icon

Thử thách

Dễ

Trong thử thách này, bạn sẽ triển khai một hệ thống ngân hàng. Bạn sẽ tạo lớp BankAccount trong một tệp và sử dụng lớp đó trong một tệp khác, qua đó tìm hiểu cách tổ chức code để dễ bảo trì hơn.

Bạn cần làm việc với hai tệp:

  • bank_account.py: Nơi bạn định nghĩa lớp BankAccount
  • driver.py: Nơi bạn nhập lớp, tạo tài khoản và thực hiện các giao dịch

Tạo lớp BankAccount trong bank_account.py với:

  1. Một thuộc tính lớp bank_name có giá trị "Python National Bank"
  2. Một phương thức deposit nhận một khoản tiền và cộng khoản đó vào số dư tài khoản
  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 get_balance trả về số dư hiện tại

Sau đó, trong driver.py, hãy nhập lớp BankAccount, tạo một tài khoản, nạp $100, rút $30 và in số dư theo định dạng: f"Current balance: ${my_account.get_balance()}"

Tự làm thử

from bank_account import BankAccount

# Tạo một tài khoản và kiểm tra các phương thức (methods) của bạn
my_account = BankAccount()
my_account.balance = 0  # Số dư ban đầu

# TODO: Thực hiện các giao dịch
# (Viết code của bạn ở đây)

# TODO: In ra số dư cuối cùng
# (Viết code của bạn ở đây)
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 Python online