Özet - Cüzdan Matematiği
Coddy'nin Lua Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 30 / 70.
Görev
KolayBu bölümde öğrendiğin operatör aşırı yükleme becerilerini bir araya getiren bir Wallet sınıfı oluşturalım. Cüzdanın bir miktar para depolayacak ve iki temel işlemi destekleyecek: + ile cüzdanları birleştirmek ve <code>< ile kullanarak cüzdanları karşılaştırmak.
Kodunu iki dosyaya ayıracaksın:
Wallet.lua: Ne kadar para tuttuğunu belirten biramountalanına sahip Wallet sınıfını tanımla. Bir:new(amount)kurucusu ekle ve iki metamethod uygula:__add: İki cüzdanı toplamak, birleştirilmiş toplamı içeren yeni bir cüzdan oluşturur__lt: Cüzdanları karşılaştırmak, hangisinin daha az para tuttuğunu belirler
main.lua: Wallet modülünü require et, cüzdan örnekleri oluştur ve her iki işlemin birlikte çalıştığını göster.
Üç girdi alacaksın:
- İlk cüzdandaki miktar
- İkinci cüzdandaki miktar
- Üçüncü cüzdandaki miktar
Ana dosyanda, verilen miktarlarla üç cüzdan oluştur. Ardından:
- Birleştirilmiş bir cüzdan oluşturmak için ilk ve ikinci cüzdanı topla
- Birleştirilmiş cüzdanın miktarını yazdır
- Birleştirilmiş cüzdanı üçüncü cüzdanla <code>< kullanarak karşılaştır ve sonucu (
trueveyafalse) yazdır - Birleştirilmiş cüzdanı üçüncü cüzdanla
kullanarak karşılaştır ve sonucu (trueveyafalse) yazdır
Örneğin girdiler 50, 30 ve 100 ise çıktı şöyle olmalıdır:
80
true
falseİlk cüzdanın (50) ikinci cüzdanla (30) toplanması, miktarı 80 olan bir cüzdan oluşturur. 80, 100'den küçük olduğundan ilk karşılaştırmanın sonucu true olur. 80, 100'den büyük olmadığından ikinci karşılaştırmanın sonucu false olur.
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
Nesne Yönelimli Programlama 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şisiKendi başına pratik yap: Online Lua derleyicisi