Menu
Coddy logo textTech

Método de Depósito

Parte da seção Programação Orientada a Objetos do Journey de Lua da Coddy — lição 20 de 70.

challenge icon

Desafio

Fácil

Estamos agora iniciando o projeto Digital Bank. Hora de adicionar funcionalidade ao seu novo sistema! Agora que as contas podem ser criadas com um saldo inicial de 0, vamos dar a elas a capacidade de receber dinheiro por meio 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: Faça o require do seu módulo Account, crie uma conta, faça alguns depósitos e mostre como o saldo altera.

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 acumula sobre o 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 esse acúmulo acontecer!

Experimente você mesmo

-- Requer 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: deposite deposit1 e imprima account.balance

-- TODO: deposite deposit2 e imprima account.balance

-- TODO: deposite deposit3 e imprima account.balance

Todas as lições de Programação Orientada a Objetos