Menu
Coddy logo textTech

Resumen - Fábrica de coches

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

challenge icon

Desafío

Fácil

¡Construyamos una clase Car completa que reúna todo lo que has aprendido en este capítulo! Crearás un sistema de fábrica de automóviles en el que cada automóvil tiene su propio modelo y color, demostrando una organización adecuada de los módulos y unas instancias independientes.

Organizarás tu código en dos archivos:

  • Car.lua: Define tu clase Car siguiendo el patrón de prototipo estándar. Tu clase necesita un constructor :new(model, color) que cree automóviles con sus propios atributos. Incluye un método :describe() que permita a cada automóvil presentarse.
  • main.lua: Requiere tu módulo Car y crea varias instancias de automóviles para demostrar que cada automóvil mantiene su propio estado independiente.

Tu método :describe() debe imprimir con este formato exacto:

A [color] [model]

Recibirás cuatro entradas:

  1. Modelo del primer automóvil
  2. Color del primer automóvil
  3. Modelo del segundo automóvil
  4. Color del segundo automóvil

En tu archivo principal, crea dos automóviles usando las entradas proporcionadas y haz que cada uno se presente en una línea separada.

Por ejemplo, si las entradas son Sedan, blue, Truck y red, la salida debería ser:

A blue Sedan
A red Truck

Cada automóvil debe almacenar su propio modelo y color, demostrando que tu clase crea instancias verdaderamente independientes.

Pruébalo tú mismo

-- Requerir el módulo Car
local Car = require('Car')

-- Leer entradas
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()

-- TODO: Crear dos instancias de coche usando Car:new()
-- TODO: Llamar a :describe() en cada coche para imprimir sus descripciones

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de Lua online