Menu
Coddy logo textTech

Ö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.

challenge icon

Görev

Kolay

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

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

Ana dosyanda, verilen miktarlarla üç cüzdan oluştur. Ardından:

  1. Birleştirilmiş bir cüzdan oluşturmak için ilk ve ikinci cüzdanı topla
  2. Birleştirilmiş cüzdanın miktarını yazdır
  3. Birleştirilmiş cüzdanı üçüncü cüzdanla <code>< kullanarak karşılaştır ve sonucu (true veya false) yazdır
  4. Birleştirilmiş cüzdanı üçüncü cüzdanla kullanarak karşılaştır ve sonucu (true veya false) 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

Kendi başına pratik yap: Online Lua derleyicisi