Gambaran Umum Proyek
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan GDScript di Coddy. Pelajaran 56 dari 65.
Tantangan
SedangDalam proyek ini, kamu membangun Sistem Manajemen Perpustakaan dalam enam langkah: perpustakaan, buku dan pengguna, peminjaman, pencarian, statistik, dan pengembalian. Setiap langkah dimulai dari file yang kamu buat pada langkah sebelumnya.
Langkah ini membuat class Library di library.gd. Kode awal sudah mendeklarasikan tiga property-nya:
library_name: nama perpustakaanbooksdanusers: duaArray[String]yang awalnya kosong. Untuk saat ini, keduanya menyimpan judul dan nama pengguna.
Lengkapi kedua method:
- Konstruktor
_init(library_name)menyimpan nama di propertylibrary_name. _to_string()mengembalikanNAME Library (books: N, users: M), denganNdanMsebagai ukuran kedua array.
Kode yang disediakan membaca nama perpustakaan dari baris pertama, lalu membaca satu perintah per baris: book TITLE dan user NAME menambahkan item ke array, info mencetak ketiga property, dan show mencetak perpustakaan. Untuk input ini:
Community
info
book Dune
user Ada
showoutput-nya adalah:
Name: Community
Books: 0
Users: 0
Community Library (books: 1, users: 1)Tulis kodemu di library.gd. main.gd berisi kode input/output yang disediakan dan tidak dapat diedit.
Coba sendiri
extends Node
func _ready():
# Kode input/output yang disediakan: biarkan tetap seperti ini
var library := Library.new(OS.read_string_from_stdin())
var line := OS.read_string_from_stdin()
while line != "":
var parts := line.split(" ", true, 1)
match parts[0]:
"book":
library.books.append(parts[1])
"user":
library.users.append(parts[1])
"info":
print("Name: ", library.library_name)
print("Books: ", library.books.size())
print("Users: ", library.users.size())
"show":
print(library)
line = OS.read_string_from_stdin()
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengantar OOPclass dan objectKata Kunci selfmethodpropertyKonstruktor (_init)Ringkasan: Kalkulator Sederhana4Polimorfisme
Method Overriding Sekali LagiDuck TypingKelas Abstrak dan MethodDesain InterfaceRingkasan: Kalkulator Bentuk7Sinyal
Apa itu Sinyal?Mendeklarasikan dan MemancarkanMenghubungkan ke SinyalSinyal dengan ArgumenRangkuman, Sistem Kesehatan10Pola Desain Bagian 2
Pola CommandPola AdapterPola DecoratorPola Template MethodPola StatePola Composite2Property class
Variabel instance vs. variabel statisFungsi statisSetter propertyGetter propertyPrivat berdasarkan konvensiRangkuman: Pengelola Rekening Bank5Enkapsulasi
Member Publik dan PrivatValidasi dengan SetterPenyembunyian InformasiProperty Hanya-BacaRingkasan: Sistem Catatan Siswa8Konsep OOP Lanjutan
Komposisi vs PewarisanInner ClassNode sebagai KomponenRefCounted vs NodeEnum dalam Class11Proyek: Manajemen Perpustakaan
Gambaran Umum Proyekclass Buku dan PenggunaLatihan sendiri: Compiler GDScript online