Setoran dan Penarikan
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 22 dari 56.
Tantangan
Selanjutnya, kita menambahkan fungsionalitas transaksi ke class BankAccount-mu dengan menerapkan method deposit() dan withdraw().
Tugasmu adalah menambahkan dua method baru ini ke class BankAccount:
1. deposit(amount) method:
- Memeriksa apakah
amountpositif (lebih besar dari 0) - Jika valid:
- Menambahkan jumlah tersebut ke saldo
- Mencatat persis:
Deposited $${amount}
- Jika tidak valid: Mencatat persis:
Invalid deposit amount
2. withdraw(amount) method:
- Memeriksa apakah
amountpositif DAN kurang dari atau sama dengan saldo saat ini - Jika valid:
- Mengurangi jumlah tersebut dari saldo
- Mencatat persis:
Withdrew $${amount}
- Jika tidak valid: Mencatat persis:
Invalid withdrawal amount or insufficient funds
Coba sendiri
import { BankAccount } from './bankAccount.js';
// Uji implementasinya
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
testAccount.deposit(200); // Menampilkan di log: "Deposited $200"
console.log('New balance:', testAccount.getBalance()); // 700
testAccount.deposit(-50); // Menampilkan di log: "Invalid deposit amount"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
testAccount.withdraw(100); // Menampilkan di log: "Withdrew $100"
console.log('New balance:', testAccount.getBalance()); // 600
testAccount.withdraw(800); // Menampilkan di log: "Invalid withdrawal amount or insufficient funds"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
Semua pelajaran di Pemrograman Berorientasi Objek
1Object dan Kata Kunci this
Tinjauan Singkat: objectMenambahkan method ke objectMemahami Kata Kunci thisFungsi KonstruktorKata Kunci newTantangan Rangkuman7Pewarisan & Kata Kunci extends
PewarisanHubungan "is-a"Kata Kunci extendsmethod super()Mewarisi property & methodTantangan Rangkuman2Mengatur Kode
Apa itu module?Mengekspor dengan exportMengimpor dengan importEkspor default vs. ekspor bernama8Mengatur Kode OOP
Mengatur class ke dalam module11Proyek: Perender Bentuk
Penyiapan: class Shape & EksporPewarisan class CircleOverride & Method LuasPenghitung Shape Statis14Sistem Manajemen Perpustakaan
Merancang PerpustakaanClass Book dengan CompositionValidasi Penulis Buku9Method dan property Statis
Level class vs. level instanceProperty StatisMethod Utilitas StatisTantangan RangkumanLatihan sendiri: Compiler JavaScript online