Menu
Coddy logo textTech

Настройка проекта

Часть раздела Object Oriented Programming путешествия по Lua на Coddy — урок 19 из 70.

challenge icon

Задание

Легко

Давайте заложим основу для системы управления фигурами Shape Manager! Этот проект будет развиваться в течение следующих нескольких уроков, поэтому мы начнем с создания чистой структуры файлов с базовым классом Shape.

Вы создадите два файла для организации вашего кода:

  • Shape.lua: Определите базовый класс Shape, используя паттерн прототипа. Каждая фигура имеет атрибут name (например, "Circle" или "Rectangle"). Реализуйте конструктор :new(name), который принимает имя фигуры, и метод :getName(), который его возвращает.
  • main.lua: Оживите ваш класс Shape, подключив модуль и создав экземпляр фигуры. Считайте имя фигуры из входных данных, создайте Shape с этим именем и выведите результат вызова :getName().

Этот базовый класс будет служить родителем для конкретных фигур, таких как Rectangle и Circle, в следующих уроках. А пока сосредоточьтесь на правильной структуре класса — настройке __index, паттерне конструктора и методе-геттере.

Ввод: Одна строка, содержащая имя фигуры (строка).

Вывод: Имя фигуры, возвращаемое методом :getName().

Попробуйте сами

-- Подключить модуль Shape
local Shape = require('Shape')

-- Прочитать название фигуры из ввода
local shapeName = io.read()

-- TODO: Создать новый экземпляр Shape с заданным именем

-- TODO: Вывести результат вызова :getName() для вашей фигуры

Все уроки раздела Object Oriented Programming