Rangkuman: Pengelola Rekening Bank
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 22 dari 110.
Tantangan
MudahMari buat sistem pengelolaan rekening bank yang menggabungkan semua konsep property class yang telah kamu pelajari di bab ini. Kamu akan membuat sistem yang melacak data setiap rekening sekaligus mempertahankan statistik bank secara keseluruhan.
Kamu akan mengatur kodemu ke dalam dua file:
bank_account.dart: Definisikan classBankAccountyang mengelola rekening masing-masing dan melacak statistik bank secara keseluruhan. Class-mu harus mencakup:final String accountNumberyang tidak dapat berubah setelah dibuatString holderNameuntuk nama pemilik rekening- Field
double _balanceprivat yang dimulai dari0.0 static int totalAccountsyang dimulai dari0untuk melacak jumlah rekening yang adastatic double totalDepositsyang dimulai dari0.0untuk melacak semua setoran yang dilakukan di bank- Constructor yang menerima
accountNumberdanholderName, lalu menambah nilaitotalAccounts - Getter
balanceyang mengembalikan saldo saat ini - Method
deposit(double amount)yang menambahkan saldo hanya jika jumlahnya positif, dan juga menambahkan nilaitotalDepositsjika berhasil - Method
withdraw(double amount)yang mengurangi saldo hanya jika jumlahnya positif dan tidak melebihi saldo saat ini - Method
displayInfo()yang mencetak detail rekening - Method statis
getBankStats()yang mengembalikan string berisi statistik bank secara keseluruhan
main.dart: Impor class rekening bank-mu dan tunjukkan cara kerja sistem:- Buat rekening dengan nomor
'ACC001'untuk'Alice' - Buat rekening dengan nomor
'ACC002'untuk'Bob' - Setorkan
500.0ke rekening Alice - Setorkan
300.0ke rekening Bob - Tarik
150.0dari rekening Alice - Coba tarik
1000.0dari rekening Bob (seharusnya diabaikan, dana tidak cukup) - Coba setorkan
-50.0ke rekening Alice (seharusnya diabaikan, jumlahnya negatif) - Panggil
displayInfo()pada rekening Alice, lalu rekening Bob - Cetak statistik bank menggunakan
BankAccount.getBankStats()
- Buat rekening dengan nomor
Method displayInfo() harus mencetak dalam format ini:
Account [accountNumber] | Holder: [holderName] | Balance: $[balance]Method getBankStats() harus mengembalikan:
Bank Stats - Total Accounts: [totalAccounts] | Total Deposits: $[totalDeposits]Output yang diharapkan:
Account ACC001 | Holder: Alice | Balance: $350.0
Account ACC002 | Holder: Bob | Balance: $300.0
Bank Stats - Total Accounts: 2 | Total Deposits: $800.0Coba sendiri
import 'bank_account.dart';
void main() {
// TODO: Buat rekening bernomor 'ACC001' untuk 'Alice'
// TODO: Buat rekening bernomor 'ACC002' untuk 'Bob'
// TODO: Setorkan 500.0 ke rekening Alice
// TODO: Setorkan 300.0 ke rekening Bob
// TODO: Tarik 150.0 dari rekening Alice
// TODO: Coba tarik 1000.0 dari rekening Bob (harus diabaikan)
// TODO: Coba setorkan -50.0 ke rekening Alice (harus diabaikan)
// TODO: Panggil displayInfo() pada rekening Alice
// TODO: Panggil displayInfo() pada rekening Bob
// TODO: Tampilkan statistik bank menggunakan BankAccount.getBankStats()
}
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
file Eksternallibrary dan ImporPengantar OOPClass dan ObjectKata kunci thismethodVariabel InstanceDasar-Dasar ConstructorRingkasan: Kalkulator Sederhana4Keamanan Null
Pengantar Keamanan NullBisa Null vs Tidak Bisa NullOperator ? dan !Kata Kunci late dan Keamanan NullOperator Penanganan NullKeamanan Null dalam classRangkuman: Sistem Profil Pengguna7class Abstrak & Antarmuka
class AbstrakMethod abstrakAntarmuka di DartAntarmuka ImplisitMengimplementasikan vs MemperluasBeberapa AntarmukaRingkasan: Kalkulator Bentuk10Koleksi dan Generik
Gambaran Umum list, set, dan MapKoleksi dengan Tipe AmanKelas GenerikMetode GenerikBatasan GenerikIterable dan IteratorUlasan: Penyimpanan Generik2Konstruktor dalam Dart
Konstruktor DefaultKonstruktor BernamaInitializer ListsKonstruktor KonstanKonstruktor FactoryKonstruktor RedirectingRangkuman, Pembuat Bentuk5Enkapsulasi
Member Publik vs PrivatKonvensi Prefiks _Privasi Tingkat libraryPendalaman Getter & SetterPenyembunyian InformasiRingkasan: Catatan Siswa8Mixin
Pengantar MixinMembuat MixinMenggunakan Beberapa MixinKata Kunci on pada MixinMixin vs. PewarisanMixin vs. InterfaceRangkuman: Sistem Hewan3Property Class
Anggota Instance vs StaticField Final dan ConstVariabel LateMethod dan Field StaticGetter dan SetterRangkuman: Pengelola Rekening Bank6Pewarisan
Pewarisan DasarKata Kunci superPenimpaan methodAnotasi @overrideKata Kunci class finalKonstruktor dan PewarisanRangkuman, Hierarki Karyawan9Polimorfisme
Dasar-Dasar PolimorfismePolimorfisme melalui AntarmukaPemeriksaan Tipe saat RuntimeOperator is & asKata Kunci KovarianRangkuman: Pemroses PembayaranLatihan sendiri: Compiler Dart online