Menu
Coddy logo textTech

Método de depósito

Parte de la sección Programación Orientada a Objetos del Journey de Lua de Coddy — lección 20 de 70.

challenge icon

Desafío

Fácil

Ahora estamos comenzando el proyecto Digital Bank. ¡Es hora de agregar funcionalidad a tu nuevo sistema! Ahora que las cuentas se pueden crear con un saldo inicial de 0, vamos a darles la capacidad de recibir dinero a través de depósitos.

Basándote en tu clase Account existente, agregarás un método :deposit(amount) que incrementa el saldo de la cuenta en la cantidad especificada. Esta es una operación bancaria fundamental: ¡entra dinero y el saldo crece!

Tus dos archivos:

  • Account.lua: Extiende tu clase Account agregando un método :deposit(amount). Este método debe agregar la cantidad dada a self.balance. Conserva todo lo de la lección anterior (la estructura de la clase y el constructor :new()).
  • main.lua: Requiere tu módulo Account, crea una cuenta, realiza algunos depósitos y muestra cómo cambia el saldo.

Recibirás tres entradas:

  1. Monto del primer depósito
  2. Monto del segundo depósito
  3. Monto del tercer depósito

En tu archivo principal, crea una sola cuenta y realiza los tres depósitos en orden. Después de cada depósito, imprime el saldo actual en una nueva línea.

Por ejemplo, si las entradas son 100, 50 y 25, la salida debería ser:

100
150
175

Observa cómo cada depósito se suma al saldo anterior: la cuenta comienza en 0, después crece a 100 tras el primer depósito, 150 tras el segundo y 175 tras el tercero. ¡Tu método :deposit() hace posible esta acumulación!

Pruébalo tú mismo

-- Requiere el módulo Account
local Account = require('Account')

-- Lee las tres cantidades de depósito
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())

-- Crea una sola cuenta
local account = Account:new()

-- Realiza los tres depósitos e imprime el saldo después de cada uno
-- TODO: deposita deposit1 e imprime account.balance

-- TODO: deposita deposit2 e imprime account.balance

-- TODO: deposita deposit3 e imprime account.balance

Todas las lecciones de Programación Orientada a Objetos