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 Digital Bank projesine başlıyoruz. Yeni sisteminize işlevsellik ekleme zamanı! Artık hesaplar 0 başlangıç bakiyesi ile oluşturulabildiğine göre, para yatırma işlemleri (deposits) ile para alabilmelerini sağlayalım.
Mevcut Account sınıfınızın üzerine inşa ederek, hesabın bakiyesini belirtilen miktar kadar artıran bir :deposit(amount) metodu ekleyeceksiniz. Bu temel bir bankacılık işlemidir—para girer ve bakiye büyür!
İki dosyanız:
Account.lua: Bir:deposit(amount)metodu ekleyerek Account sınıfınızı genişletin. Bu metod, verilen miktarıself.balancedeğerine eklemelidir. Önceki dersteki her şeyi (sınıf yapısı ve:new()constructor) koruyun.main.lua: Account modülünüzü require edin, bir account oluşturun, birkaç deposit işlemi yapın ve bakiyenin nasıl değiştiğini gösterin.
Üç girdi alacaksınız:
- Birinci deposit miktarı
- İkinci deposit miktarı
- Üçüncü deposit miktarı
main dosyanızda tek bir account oluşturun ve üç deposit işlemini sırasıyla gerçekleştirin. Her deposit işleminden sonra, güncel bakiyeyi yeni bir satırda print edin.
Örneğin, girdiler 100, 50 ve 25 ise, çıktı şu şekilde olmalıdır:
100
150
175Her bir deposit işleminin önceki bakiye üzerine nasıl eklendiğine dikkat edin—hesap 0 ile başlar, ardından ilk deposit işleminden sonra 100'e, ikinciden sonra 150'ye ve üçüncüden sonra 175'e yükselir. :deposit() metodunuz bu birikimi sağlar!
Kendin dene
-- Account modülünü gerektir
local Account = require('Account')
-- Üç yatırma miktarı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()
-- Üç 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şisi