Menu
Coddy logo textTech

Özet - Cüzdan Matematiği

Coddy'nin Lua Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 30 / 70.

challenge icon

Görev

Kolay

Bu 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 bir amount alanı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:

  1. Birinci cüzdandaki miktar
  2. İkinci cüzdandaki miktar
  3. Üçüncü cüzdandaki miktar

Ana dosyanızda, verilen miktarlarla üç cüzdan oluşturun. Ardından:

  1. Birleşik bir cüzdan oluşturmak için birinci ve ikinci cüzdanları toplayın
  2. Birleşik cüzdanın miktarını yazdırın
  3. Birleşik cüzdanı <code>< kullanarak üçüncü cüzdanla karşılaştırın ve sonucu (true veya false) yazdırın
  4. Birleşik cüzdanı kullanarak üçüncü cüzdanla karşılaştırın ve sonucu (true veya false) yazdırın

Örneğin, girdiler 50, 30 ve 100 ise çıktı şu şekilde olmalıdır:

80
true
false

Birinci 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