Menu
Coddy logo textTech

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

Часть раздела Объектно-ориентированное программирование путешествия по Lua на Coddy. Урок 55 из 70.

challenge icon

Задание

Легко

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

Вы создадите два файла, чтобы организовать свой код:

  • Shape.lua: Define базовый класс Shape с использованием шаблона prototype. У каждой фигуры есть атрибут name (например, "Circle" или "Rectangle"). Добавьте конструктор :new(name), который принимает имя фигуры, и метод :getName(), который его возвращает.
  • main.lua: Задействуйте свой класс Shape, подключив module и создав экземпляр фигуры. Считайте имя фигуры из input, создайте Shape с этим именем и выведите result вызова :getName().

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

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

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

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

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

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

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

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

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор Lua