Lua · Capítulo 5

Objetos, módulos e arquitetura

Modelar entidades e separar responsabilidades.

CONCEITO

O que precisas de perceber

Em linguagens com orientação a objetos, uma classe define estado e comportamento; objetos são instâncias. Mesmo sem classes, módulos e ficheiros ajudam a separar interface, regras de negócio e acesso a dados.

EXEMPLO

Vê o código

Aluno = {}
Aluno.__index = Aluno
function Aluno:new(nome, notas)
  return setmetatable({nome=nome, notas=notas}, self)
end
CADERNO DIGITAL

As minhas notas

Escreve apontamentos deste capítulo. Ficam apenas neste dispositivo.

Guardado localmente.
AGORA TU

Exercício

Modela um Aluno com nome e notas e cria um método/função que calcule a média.

Ver uma solução possível
Aluno = {}
Aluno.__index = Aluno
function Aluno:new(nome, notas)
  return setmetatable({nome=nome, notas=notas}, self)
end