Menu
CoddyTech

Phương thức

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

Phương thức 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:

class Calculator {
  void greet() {
    print('Hello! I am a calculator.');
  }

  int add(int a, int b) {
    return a + b;
  }

  int multiply(int x, int y) {
    int result = x * y;
    print('$x x $y = $result');
    return result;
  }
}

Chữ ký phương thức trong Dart luôn có kiểu trả về. Dùng void khi phương thức không trả về gì.

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

Calculator myCalc = 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 có tham số và lưu giá trị trả về:

int sumResult = myCalc.add(5, 3);
print(sumResult);

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

int product = myCalc.multiply(4, 7);

Đầu ra:

Hello! I am a calculator.
8
4 x 7 = 28

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

  • Có kiểu trả về như int add(int a, int b)
  • Trả về giá trị bằng return
  • In đầu ra trực tiếp bằng print()
  • Có kiểu void khi không trả về gì

Điểm chính: Gọi phương thức trên đối tượng bằng toán tử dấu chấm: object.methodName(args).

challenge icon

Thử thách

Dễ

Tạo một lớp BankAccount trong tệp bank_account.dart với:

  1. Một biến instance double balance được đặt thành 0
  2. Một phương thức deposit nhận double amount và cộng giá trị đó vào balance
  3. Một phương thức withdraw nhận double amount và trừ giá trị đó khỏi balance
  4. Một phương thức getBalance trả về balance hiện tại

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

Tự làm thử

import 'bank_account.dart';

void main() {
  BankAccount myAccount = BankAccount();
  myAccount.balance = 0;

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

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

  // TODO: In số dư theo định dạng: 'Current balance: $[balance]'
  // Gợi ý: dùng .toInt() với số dư để đầu ra gọn gàng
}
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 Dart online