Menu
Coddy logo textTech

Configuração do Projeto

Parte da seção Programação Orientada a Objetos do Journey de Lua da Coddy. Lição 19 de 70.

challenge icon

Desafio

Fácil

Estamos começando o projeto Digital Bank. Nas próximas lições, você construirá uma classe Account que pode receber depósitos, processar saques, imprimir a si mesma e transferir dinheiro para outras contas. Tudo começa com uma estrutura de arquivos organizada e um construtor.

Seus dois arquivos:

  • Account.lua: defina a tabela Account, configure Account.__index = Account para que as instâncias encontrem seus métodos e escreva o construtor :new(). Ele cria uma tabela vazia, define sua metatabela como Account, atribui a ela um balance de 0 e a retorna. O arquivo termina com return Account.
  • main.lua: exija o módulo com require('Account'), crie duas contas com Account:new(), imprima o saldo de cada uma em sua própria linha e, em seguida, imprima savings == checking para mostrar que as duas chamadas produziram duas tabelas diferentes.

Saída esperada:

0
0
false

Toda conta começa em zero. Na próxima lição, você adicionará o método :deposit(amount), que faz o saldo crescer.

Experimente você mesmo

-- TODO: faça o require do módulo Account (o arquivo é Account.lua)
local Account = nil

-- TODO: crie duas contas com Account:new()

-- TODO: imprima o saldo de cada conta (um por linha)

-- TODO: imprima se as duas contas são a mesma tabela (elas não devem ser)

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

Pratique por conta própria: Compilador de Lua online