Menu
Coddy logo textTech

Hesap Bilgileri

Coddy'nin Lua Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 23 / 70.

challenge icon

Görev

Kolay

Dijital Bankanız daha profesyonel hâle geliyor! Şimdi hesaplarınızın yazdırıldığında kendilerini düzgün bir şekilde görüntülemesini sağlayalım. Bir __tostring metamethod'u ekleyerek bir hesabın tam olarak nasıl görüneceğini kontrol edebilirsiniz: hesap ID'sini ve mevcut bakiyeyi temiz, okunabilir bir biçimde gösterebilirsiniz.

Mevcut dosyalarınız üzerinde çalışmaya devam edeceksiniz:

  • Account.lua: Account sınıfınızı iki yeni özellikle genişletin:
    • Her hesabı tanımlayan bir :new() parametresini kabul etmesi için id kurucusunu değiştirin
    • Hesap bilgilerini biçimlendirilmiş bir dize olarak döndüren bir __tostring metamethod'u ekleyin
    Mevcut tüm işlevlerinizi (deposit, withdraw ve getBalance metotları) koruyun.
  • main.lua: ID'lere sahip hesaplar oluşturun ve yazdırıldıklarında kendilerini nasıl görüntülediklerini gösterin.

__tostring metodu tam olarak şu biçimde bir dize döndürmelidir:

Account [ID]: Balance = BALANCE

Burada ID hesabın ID'si, BALANCE ise mevcut bakiyesidir.

Dört girdi alacaksınız:

  1. İlk hesabın ID'si
  2. İlk hesabın yatırma tutarı
  3. İkinci hesabın ID'si
  4. İkinci hesabın yatırma tutarı

Ana dosyanızda verilen ID'lerle iki hesap oluşturun, ilgili tutarları her birine yatırın, ardından her hesabı doğrudan print() kullanarak yazdırın. Hesap nesnesini yazdırdığınızda __tostring metamethod'u otomatik olarak çağrılır.

Örneğin girdiler 1001, 500, 1002 ve 750 ise çıktı şöyle olmalıdır:

Account [1001]: Balance = 500
Account [1002]: Balance = 750

Artık her hesabın benzersiz bir kimliği var ve kendisini açıkça tanımlayabiliyor: çok daha profesyonel bir bankacılık deneyimi!

Kendin dene

-- Account modülünü yükle
local Account = require('Account')

-- Dört girdiyi oku
local id1 = io.read()
local deposit1 = tonumber(io.read())
local id2 = io.read()
local deposit2 = tonumber(io.read())

-- ID'lerle iki hesap oluştur
local account1 = Account:new(id1)
local account2 = Account:new(id2)

-- İlgili tutarları yatır
account1:deposit(deposit1)
account2:deposit(deposit2)

-- Her hesabı yazdır (__tostring kullanır)
print(account1)
print(account2)

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi