Ringkasan: Rekening Bank
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Kotlin di Coddy. Pelajaran 11 dari 57.
Tantangan
SedangLengkapi class BankAccount(val owner: String, opening: Int). Blok init-nya mengharuskan owner tidak kosong (owner is empty) dan setoran awal tidak negatif (opening must not be negative). balance memiliki setter privat. Transaksi disimpan dalam MutableList privat dan ditampilkan sebagai val transactions: List<String>. deposit(amount) dan withdraw(amount) mengembalikan true jika berhasil: jumlah di bawah 1 ditolak, dan penarikan yang melebihi saldo ditolak; perubahan yang berhasil dicatat sebagai +50 atau -20. statement() mengembalikan Ada: 30 (+50, -20) atau Ada: 0 (no transactions).
Kode yang disediakan membaca owner dan setoran awal (name,amount), lalu perintah d n atau w n. Kode tersebut mencetak refused untuk perintah yang gagal, lalu mencetak statement; akun yang tidak valid akan mencetak pesan error.
Masukkan kodemu ke BankAccount.kt. Main.kt berisi kode input/output yang disediakan dan tidak boleh diedit.
Coba sendiri
fun main() {
// Kode input/output yang disediakan: biarkan apa adanya
val input = generateSequence(::readLine).toList()
try {
val (name, amount) = input[0].split(",")
val account = BankAccount(name, amount.toInt())
for (cmd in input.drop(1)) {
val (op, n) = cmd.split(" ")
val ok = if (op == "d") account.deposit(n.toInt()) else account.withdraw(n.toInt())
if (!ok) println("refused")
}
println(account.statement())
} catch (e: IllegalArgumentException) {
println(e.message)
}
}
Semua pelajaran di Pemrograman Berorientasi Objek
1class dan object
Bekerja dengan fileMendefinisikan classKonstruktor utamaBlok init dan validasiKonstruktor sekunderRingkasan: Kartu Perpustakaan2property dan Enkapsulasi
Accessor KustomModifier VisibilitasSetter Privatlazy dan lateinitRingkasan: Rekening Bank5Interface
Mendeklarasikan Interfacemethod DefaultBeberapa InterfaceInterface sebagai TipeUlasan: Metode Pembayaran11Proyek: Pengelolaan Perpustakaan
Buku dan AnggotaPeminjaman BukuLatihan sendiri: Playground Kotlin