Menu
Coddy logo textTech

Configuración del proyecto

Parte de la sección Programación Orientada a Objetos del Journey de Lua de Coddy. Lección 55 de 70.

challenge icon

Desafío

Fácil

¡Construyamos los cimientos de un sistema Shape Manager! Este proyecto crecerá a lo largo de las próximas lecciones, así que comenzaremos configurando una estructura de archivos ordenada con una clase base Shape.

Crearás dos archivos para organizar tu código:

  • Shape.lua: Define una clase base Shape usando el patrón de prototipos. Cada forma tiene un atributo name (como "Circle" o "Rectangle"). Incluye un constructor :new(name) que acepte el nombre de la forma y un método :getName() que lo devuelva.
  • main.lua: Dale vida a tu clase Shape requiriendo el módulo y creando una instancia de la forma. Lee un nombre de forma de la entrada, crea un Shape con ese nombre e imprime el resultado de llamar a :getName().

Esta clase base servirá como clase principal para formas específicas como Rectangle y Circle en las próximas lecciones. Por ahora, concéntrate en estructurar correctamente la clase: la configuración de __index, el patrón del constructor y el método getter.

Entrada: Una sola línea que contiene el nombre de la forma (una cadena).

Salida: El nombre de la forma devuelto por :getName().

Pruébalo tú mismo

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

-- Lee el nombre de la forma desde la entrada
local shapeName = io.read()

-- TODO: Crea una nueva instancia de Shape con el nombre dado

-- TODO: Imprime el resultado de llamar a :getName() en tu shape

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de Lua online