Para Yatırma Metodu
Coddy'nin Lua Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 20 / 70.
Görev
KolayŞimdi Dijital Bank projesine başlıyoruz. Yeni sistemine işlevsellik ekleme zamanı! Artık başlangıç bakiyesi 0 olan hesaplar oluşturulabildiğine göre, hesaplara para yatırma yoluyla para alma yeteneği kazandıralım.
Mevcut Account sınıfını temel alarak, hesabın bakiyesini belirtilen miktar kadar artıran bir :deposit(amount) metodu ekleyeceksin. Bu, temel bir bankacılık işlemidir: para girer ve bakiye artar!
İki dosyan:
Account.lua: Bir:deposit(amount)metodu ekleyerek Account sınıfını genişlet. Bu metot, verilen miktarıself.balancedeğerine eklemelidir. Önceki dersteki her şeyi (sınıf yapısını ve:new()yapıcısını) koru.main.lua: Account modülünü içe aktar, bir hesap oluştur, birkaç para yatır ve bakiyenin nasıl değiştiğini göster.
Üç girdi alacaksın:
- İlk para yatırma miktarı
- İkinci para yatırma miktarı
- Üçüncü para yatırma miktarı
main dosyanda tek bir hesap oluştur ve üç para yatırma işlemini sırayla gerçekleştir. Her para yatırma işleminden sonra mevcut bakiyeyi yeni bir satırda yazdır.
Örneğin girdiler 100, 50 ve 25 ise çıktı şöyle olmalıdır:
100
150
175Her para yatırma işleminin önceki bakiye üzerine eklendiğine dikkat et: hesap 0'dan başlar, ardından ilk para yatırma işleminden sonra 100'e, ikinciden sonra 150'ye ve üçüncüden sonra 175'e yükselir. :deposit() metodun bu birikimin gerçekleşmesini sağlar!
Kendin dene
-- Account modülünü yükle
local Account = require('Account')
-- Üç para yatırma tutarını oku
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())
-- Tek bir hesap oluştur
local account = Account:new()
-- Üç para yatırmayı gerçekleştir ve her birinden sonra bakiyeyi yazdır
-- TODO: deposit1'i yatır ve account.balance yazdır
-- TODO: deposit2'yi yatır ve account.balance yazdır
-- TODO: deposit3'ü yatır ve account.balance yazdır
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