Proje Kurulumu
Coddy'nin Lua Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 19 / 70.
Görev
KolayBir Şekil Yöneticisi sistemi için temel oluşturalım! Bu proje önümüzdeki birkaç ders boyunca büyüyecek, bu yüzden temel bir Shape sınıfı ile temiz bir dosya yapısı kurarak başlayacağız.
Kodunuzu düzenlemek için iki dosya oluşturacaksınız:
Shape.lua: Prototip desenini kullanarak temel birShapesınıfı tanımlayın. Her şeklin birnameözniteliği vardır ("Circle" veya "Rectangle" gibi). Şeklin adını kabul eden bir:new(name)kurucusu ve bu adı döndüren bir:getName()metodu ekleyin.main.lua: Modülü dahil ederek ve bir şekil örneği oluşturarak Shape sınıfınızı hayata geçirin. Girdiden bir şekil adı okuyun, bu adla bir Shape oluşturun ve:getName()çağrısının sonucunu yazdırın.
Bu temel sınıf, gelecek derslerde Rectangle ve Circle gibi belirli şekiller için ebeveyn görevi görecek. Şimdilik sınıf yapısını doğru kurmaya odaklanın—__index kurulumu, kurucu deseni ve getter metodu.
Input: Şekil adını içeren tek bir satır (bir string).
Output: :getName() tarafından döndürülen şekil adı.
Kendin dene
-- Shape modülünü dahil et
local Shape = require('Shape')
-- Şekil adını girdiden oku
local shapeName = io.read()
-- TODO: Verilen adla yeni bir Shape örneği oluştur
-- TODO: Şekliniz üzerinde :getName() çağırmanın sonucunu yazdırın
Object Oriented Programming bölümündeki tüm dersler
1'Self' Kavramı
Fonksiyonlu TablolarAçık 'self'İki Nokta SözdizimiNokta vs İki NoktaÖzet - Hareket Eden Nokta4Proje: Dijital Banka
Proje KurulumuPara Yatırma Metodu7Çok Biçimlilik ve Geçersiz Kılma
Metotları Geçersiz KılmaÜst Sınıf Metotlarını ÇağırmaDuck TypingOrtak ArayüzTür KontrolüÖzet - Çalışan Rolleri2Sınıf Prototip Kalıbı
Prototip Kavramı__index ile Bağlama:new() KurucusuÖznitelikleri BaşlatmaBağımsız ÖrneklerÖzet - Araba Fabrikası5OOP'de Operatör Aşırı Yükleme
Nesneleri ToplamaNesneleri ÇıkarmaNesneleri BirleştirmeNesneleri Karşılaştırma (<, >)Özet - Cüzdan Matematiği8Kapsülleme
Adlandırma KurallarıGizlilik için Closure'larClosure'lar Aracılığıyla ErişimSalt Okunur TablolarDoğrulama MantığıÖzet - Güvenli Kasa11Tasarım Kalıpları (Lite)
Fabrika FonksiyonlarıSingleton TablosuIterator KalıbıObserver (Dinleyici)Özet - Logger Fabrikası3Nesne Durumu ve Davranışı
Örnek DeğişkenleriGetter MetotlarıSetter MetotlarıHesaplanmış ÖzelliklerString BiçimlendirmeEşitlik KontrolleriÖzet - Öğrenci Notu6Kalıtımın Temelleri
Kalıtım KurulumuMetot KalıtımıConstructor'ı GenişletmeAlt Sınıf Metotları EklemePaylaşılan ve BenzersizÖzet - Şekil Hiyerarşisi