Gửi tiền và rút tiền
Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 22 trên 56.
Thử thách
Tiếp theo, chúng ta sẽ thêm chức năng giao dịch vào lớp BankAccount bằng cách triển khai các phương thức deposit() và withdraw().
Nhiệm vụ của bạn là thêm hai phương thức mới này vào lớp BankAccount:
1. Phương thức deposit(amount):
- Kiểm tra xem
amountcó phải là số dương (lớn hơn 0) hay không - Nếu hợp lệ:
- Cộng số tiền vào số dư
- In ra chính xác:
Deposited $${amount}
- Nếu không hợp lệ: In ra chính xác:
Invalid deposit amount
2. Phương thức withdraw(amount):
- Kiểm tra xem
amountcó phải là số dương VÀ nhỏ hơn hoặc bằng số dư hiện tại hay không - Nếu hợp lệ:
- Trừ số tiền khỏi số dư
- In ra chính xác:
Withdrew $${amount}
- Nếu không hợp lệ: In ra chính xác:
Invalid withdrawal amount or insufficient funds
Tự làm thử
import { BankAccount } from './bankAccount.js';
// Kiểm tra phần triển khai
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
testAccount.deposit(200); // Ghi vào nhật ký: "Deposited $200"
console.log('New balance:', testAccount.getBalance()); // 700
testAccount.deposit(-50); // Ghi vào nhật ký: "Invalid deposit amount"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
testAccount.withdraw(100); // Ghi vào nhật ký: "Withdrew $100"
console.log('New balance:', testAccount.getBalance()); // 600
testAccount.withdraw(800); // Ghi vào nhật ký: "Invalid withdrawal amount or insufficient funds"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
Tất cả bài học trong Lập trình hướng đối tượng
1Đối tượng và từ khóa this
Ôn nhanh: đối tượngThêm phương thức vào đối tượngTìm hiểu từ khóa thisHàm khởi tạoTừ khóa newThử thách ôn tập7Kế thừa và từ khóa extends
Kế thừaQuan hệ "là một"Từ khóa extendsPhương thức super()Kế thừa thuộc tính và phương thứcThử thách ôn tập13Kết hợp hay kế thừa
Quan hệ “có một” và “là một”Những hạn chế của kế thừa nhiều tầngXây dựng đối tượng5Đóng gói và quyền truy cập
Đóng góiTrường công khai và trường riêng tưPhương thức riêng tưThử thách ôn tập8Tổ chức code OOP
Tổ chức các lớp thành module11Dự án: Trình hiển thị hình dạng
Thiết lập: lớp Hình dạng và xuấtKế thừa lớp Hình trònGhi đè và phương thức diện tíchBộ đếm hình dạng tĩnh6Dự án: Tài khoản ngân hàng đơn giản
Lớp BankAccountGửi tiền và rút tiềnSố dư dưới dạng thuộc tính riêng tư9Phương thức và thuộc tính tĩnh
Cấp lớp và cấp instanceThuộc tính tĩnhPhương thức tiện ích tĩnhThử thách ôn tậpTự luyện tập: Trình biên dịch JavaScript online