Menu
Coddy logo textTech

Podsumowanie – fabryka samochodów

Część sekcji Programowanie obiektowe ścieżki Lua w Coddy. Lekcja 11 z 70.

challenge icon

Wyzwanie

Łatwy

Zbudujmy kompletną klasę Car, która łączy wszystko, czego nauczyłeś się w tym rozdziale! Utworzysz system fabryki samochodów, w którym każdy samochód ma własny model i kolor, demonstrując prawidłową organizację modułów oraz niezależne instancje.

Rozmieścisz swój kod w dwóch plikach:

  • Car.lua: Zdefiniuj klasę Car zgodnie ze standardowym wzorcem prototypowym. Twoja klasa potrzebuje konstruktora :new(model, color), który tworzy samochody z własnymi atrybutami. Dodaj metodę :describe(), dzięki której każdy samochód będzie mógł się przedstawić.
  • main.lua: Zaimportuj moduł Car i utwórz wiele instancji samochodów, aby pokazać, że każdy samochód zachowuje własny, niezależny stan.

Twoja metoda :describe() powinna wypisywać tekst w dokładnie takim formacie:

A [color] [model]

Otrzymasz cztery dane wejściowe:

  1. Model pierwszego samochodu
  2. Kolor pierwszego samochodu
  3. Model drugiego samochodu
  4. Kolor drugiego samochodu

W głównym pliku utwórz dwa samochody, używając podanych danych wejściowych, i spraw, by każdy z nich opisał się w osobnym wierszu.

Na przykład, jeśli dane wejściowe to Sedan, blue, Truck i red, wynikiem powinno być:

A blue Sedan
A red Truck

Każdy samochód powinien przechowywać własny model i kolor, co dowodzi, że Twoja klasa tworzy naprawdę niezależne instancje.

Spróbuj swoich sił

-- Załaduj moduł Car
local Car = require('Car')

-- Wczytaj dane wejściowe
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()

-- TODO: Utwórz dwa obiekty samochodów za pomocą Car:new()
-- TODO: Wywołaj :describe() dla każdego samochodu, aby wypisać ich opisy

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Lua online