Menu
Coddy logo textTech

Método de Depósito

Parte da seção Object Oriented Programming do Journey de Lua da Coddy — lição 20 de 70.

challenge icon

Desafio

Fácil

Hora de adicionar funcionalidade ao seu Banco Digital! Agora que as contas podem ser criadas com um saldo inicial de 0, vamos dar a elas a capacidade de receber dinheiro através de depósitos.

Com base na sua classe Account existente, você adicionará um método :deposit(amount) que aumenta o saldo da conta pelo valor especificado. Esta é uma operação bancária fundamental — o dinheiro entra e o saldo cresce!

Seus dois arquivos:

  • Account.lua: Estenda sua classe Account adicionando um método :deposit(amount). Este método deve adicionar o valor fornecido a self.balance. Mantenha tudo da lição anterior (a estrutura da classe e o construtor :new()).
  • main.lua: Importe seu módulo Account, crie uma conta, faça alguns depósitos e mostre como o saldo muda.

Você receberá três entradas:

  1. Valor do primeiro depósito
  2. Valor do segundo depósito
  3. Valor do terceiro depósito

No seu arquivo principal, crie uma única conta e realize os três depósitos em ordem. Após cada depósito, imprima o saldo atual em uma nova linha.

Por exemplo, se as entradas forem 100, 50 e 25, a saída deve ser:

100
150
175

Observe como cada depósito se baseia no saldo anterior — a conta começa em 0, depois cresce para 100 após o primeiro depósito, 150 após o segundo e 175 após o terceiro. Seu método :deposit() faz essa acumulação acontecer!

Experimente você mesmo

-- Importa o módulo Account
local Account = require('Account')

-- Lê os três valores de depósito
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())

-- Cria uma única conta
local account = Account:new()

-- Realiza os três depósitos e imprime o saldo após cada um
-- TODO: depositar deposit1 e imprimir account.balance

-- TODO: depositar deposit2 e imprimir account.balance

-- TODO: depositar deposit3 e imprimir account.balance

Todas as lições de Object Oriented Programming