Özet - Cüzdan Matematiği
Coddy'nin Lua Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 30 / 70.
Görev
KolayBu bölümde öğrendiğiniz operatör aşırı yükleme (operator overloading) becerilerini bir araya getiren bir Wallet sınıfı oluşturalım. Cüzdanınız bir miktar para saklayacak ve iki temel işlemi destekleyecektir: cüzdanları + ile birleştirmek ve cüzdanları <code>< ve ile karşılaştırmak.
Kodunuzu iki dosya halinde düzenleyeceksiniz:
Wallet.lua: İçinde ne kadar para olduğunu temsil eden biramountalanına sahip Wallet sınıfınızı tanımlayın. Bir:new(amount)yapıcı metodu (constructor) ekleyin ve iki metametot uygulayın:__add: İki cüzdanı toplamak, birleşik toplamı içeren yeni bir cüzdan oluşturur__lt: Cüzdanları karşılaştırmak, hangisinin daha az paraya sahip olduğunu belirler
main.lua: Wallet modülünüzü dahil edin (require), cüzdan örnekleri oluşturun ve her iki işlemin birlikte çalıştığını gösterin.
Üç girdi alacaksınız:
- Birinci cüzdandaki miktar
- İkinci cüzdandaki miktar
- Üçüncü cüzdandaki miktar
Ana dosyanızda, verilen miktarlarla üç cüzdan oluşturun. Ardından:
- Birleşik bir cüzdan oluşturmak için birinci ve ikinci cüzdanları toplayın
- Birleşik cüzdanın miktarını yazdırın
- Birleşik cüzdanı <code>< kullanarak üçüncü cüzdanla karşılaştırın ve sonucu (
trueveyafalse) yazdırın - Birleşik cüzdanı
kullanarak üçüncü cüzdanla karşılaştırın ve sonucu (trueveyafalse) yazdırın
Örneğin, girdiler 50, 30 ve 100 ise çıktı şu şekilde olmalıdır:
80
true
falseBirinci cüzdan (50) artı ikinci cüzdan (30), 80 değerinde birleşik bir cüzdan oluşturur. 80, 100'den küçük olduğu için ilk karşılaştırma true sonucunu verir. 80, 100'den büyük olmadığı için ikinci karşılaştırma false sonucunu verir.
Kendin dene
local Wallet = require('Wallet')
-- Girdiyi oku
local amount1 = tonumber(io.read())
local amount2 = tonumber(io.read())
local amount3 = tonumber(io.read())
-- YAPILACAK: Verilen miktarlarla üç cüzdan oluşturun
-- YAPILACAK: Birleştirilmiş bir cüzdan oluşturmak için birinci ve ikinci cüzdanları toplayın
-- YAPILACAK: Birleştirilmiş cüzdanın miktarını yazdırın
-- YAPILACAK: Birleştirilmiş cüzdanı < kullanarak üçüncü cüzdanla karşılaştırın ve sonucu yazdırın
-- YAPILACAK: Birleştirilmiş cüzdanı > kullanarak üçüncü cüzdanla karşılaştırın ve sonucu 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