Projeye Genel Bakış
Coddy'nin GDScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 56 / 65.
Görev
OrtaBu projede altı adımda bir Kütüphane Yönetim Sistemi oluşturacaksın: bir kütüphane, kitaplar ve kullanıcılar, ödünç alma, arama, istatistikler ve iadeler. Her adım, önceki adımdaki dosyalarınla başlar.
Bu adımda library.gd içinde Library sınıfı oluşturulur. Başlangıç kodunda üç özelliği zaten tanımlıdır:
library_name: kütüphanenin adıbooksveusers: boş başlayan ikiArray[String]. Şimdilik bu diziler kitap başlıklarını ve kullanıcı adlarını tutar.
İki yöntemi tamamla:
- Kurucu
_init(library_name), adılibrary_nameözelliğine kaydeder. _to_string(),NAME Library (books: N, users: M)değerini döndürür; buradaNveM, iki dizinin boyutlarıdır.
Sağlanan kod, kütüphane adını ilk satırdan, ardından her satırda bir komut okur: book TITLE ve user NAME dizilere eleman ekler, info üç özelliği yazdırır ve show kütüphaneyi yazdırır. Bu girdi için:
Community
info
book Dune
user Ada
showçıktı şöyledir:
Name: Community
Books: 0
Users: 0
Community Library (books: 1, users: 1)Kodunu library.gd içine yaz. main.gd, sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.
Kendin dene
extends Node
func _ready():
# Sağlanan giriş/çıkış kodu: olduğu gibi bırakın
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()
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Nesne Yönelimli Programlamanın Temelleri
Harici DosyalarNesne Yönelimli Programlamaya GirişSınıflar ve Nesnelerself Anahtar KelimesiMetotlarÖzelliklerKurucu (_init)Tekrar - Basit Hesap Makinesi4Çok Biçimlilik
Metot Ezme Konusuna Yeniden BakışÖrdek TiplemesiSoyut Sınıflar ve MetotlarArayüz TasarımıÖzet - Şekil Hesaplayıcı7Sinyaller
Sinyal Nedir?Tanımlama ve Sinyal GöndermeSinyallere BağlanmaArgümanlı SinyallerTekrar - Sağlık Sistemi10Tasarım Kalıpları 2. Bölüm
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıBileşik Kalıp2Sınıf Özellikleri
Örnek ve Statik DeğişkenlerStatik FonksiyonlarÖzellik AyarlayıcılarıÖzellik AlıcılarıGeleneksel Olarak ÖzelTekrar - Banka Hesabı Yöneticisi5Kapsülleme
Public ve Private ÜyelerSetter'larla DoğrulamaBilgi GizlemeSalt Okunur ÖzelliklerTekrar - Öğrenci Kayıt Sistemi8İleri OOP Kavramları
Composition ve Inheritance Karşılaştırmasıİç SınıflarBileşen Olarak DüğümlerRefCounted ve Node KarşılaştırmasıSınıflarda Enum’lar11Proje: Kütüphane Yönetimi
Projeye Genel BakışKitap ve Kullanıcı SınıflarıKendi başına pratik yap: Online GDScript derleyicisi