Ulasan: Kartu Perpustakaan
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Swift di Coddy. Pelajaran 6 dari 57.
Tantangan
SedangLengkapi class LibraryCard. Initializer-nya menerima anggota name dan limit (default 3), lalu dimulai tanpa buku yang dipinjam. borrow(_:) mengembalikan true dan menambahkan judul kecuali kartu sudah mencapai batas atau sudah memegang judul tersebut. giveBack(_:) mengembalikan true saat judul berhasil dihapus. status() mengembalikan Ada: 2/3 (Dune, Emma) dengan judul sesuai urutan peminjaman, atau Ada: 0/3 saat tidak ada buku yang dipinjam.
Kode yang disediakan membaca nama, batas (atau baris kosong untuk menggunakan nilai default), lalu perintah +title atau -title. Kode tersebut mencetak ok atau no untuk setiap perintah, lalu mencetak status().
Tulis kodemu di LibraryCard.swift. main.swift berisi kode input/output yang disediakan dan tidak dapat diedit.
Coba sendiri
// Kode input/output yang disediakan: biarkan apa adanya
var input: [String] = []
while let line = readLine() { input.append(line) }
let card = input[1].isEmpty ? LibraryCard(name: input[0]) : LibraryCard(name: input[0], limit: Int(input[1])!)
for cmd in input.dropFirst(2) {
let title = String(cmd.dropFirst())
let done = cmd.hasPrefix("+") ? card.borrow(title) : card.giveBack(title)
print(done ? "ok" : "no")
}
print(card.status())
Semua pelajaran di Pemrograman Berorientasi Objek
1Class dan Object
Bekerja dengan FileMendefinisikan ClassMethod dan selfInitializerClass adalah ReferensiUlasan: Kartu Perpustakaan4Enkapsulasi
Kontrol AksesHanya Bisa Dibaca dari LuarMelindungi StateInitializer yang Bisa GagalRangkuman: Rekening Bank7Polimorfisme dan Generik
PolimorfismeKonversi TipeFungsi GenerikTipe GenerikRangkuman: Kalkulator Bentuk2Struct dan Tipe Nilai
StructSemantik NilaiMethod yang Mengubah NilaiStruct atau classRangkuman, Item Inventaris11Proyek: Manajemen Perpustakaan
Buku dan AnggotaPeminjaman BukuLatihan sendiri: Playground Swift