Menu
Coddy logo textTech

Konfiguracja projektu

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

challenge icon

Wyzwanie

Łatwy

Zbudujmy fundament systemu Shape Manager! Ten projekt będzie rozwijany przez kilka kolejnych lekcji, więc zaczniemy od przygotowania przejrzystej struktury plików z podstawową klasą Shape.

Utworzysz dwa pliki, aby uporządkować swój kod:

  • Shape.lua: Zdefiniuj podstawową klasę Shape przy użyciu wzorca prototypu. Każdy kształt ma atrybut name (na przykład "Circle" lub "Rectangle"). Dodaj konstruktor :new(name), który przyjmuje nazwę kształtu, oraz metodę :getName(), która ją zwraca.
  • main.lua: Ożyw swoją klasę Shape, wczytując moduł i tworząc instancję kształtu. Wczytaj nazwę kształtu z wejścia, utwórz obiekt Shape o tej nazwie i wypisz wynik wywołania :getName().

Ta podstawowa klasa będzie klasą nadrzędną dla konkretnych kształtów, takich jak Rectangle i Circle, w kolejnych lekcjach. Na razie skup się na poprawnej strukturze klasy: konfiguracji __index, wzorcu konstruktora i metodzie zwracającej wartość.

Wejście: Jeden wiersz zawierający nazwę kształtu (ciąg znaków).

Wyjście: Nazwa kształtu zwrócona przez :getName().

Spróbuj swoich sił

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

-- Odczytaj nazwę kształtu z wejścia
local shapeName = io.read()

-- TODO: Utwórz nową instancję Shape o podanej nazwie

-- TODO: Wypisz wynik wywołania :getName() na utworzonym kształcie

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Lua online