<b>Объектно-Ориентированное Программирование в Lua</b>, Создание и использование классов

Объектно-Ориентированное Программирование в Lua, Создание и использование классов

Согласно языку С++, класс - это определяемый пользователем тип, а объект - это экземпляр класса.Попробуем в lua определить понятие класса.

Каждому классу могут соответствовать несколько объектов. Каждый объект занимает своё место в памяти и манипулирует со своими переменными и функциями. Приведу пример класса и объектов: Возьмём класс - автомобиль. У этого класса есть некие свои "переменные" и "функции", такие как цвет (функция определения цвета), тип (хэтчбек, универсал, седан) и тд.Объектом данного класса, например, будет красный седанДругим объектом будет синий универсалТретьим объектом будет также синий универсал

Второй и третий объекты не отличаются ничем, однако, они разные объекты, физически разные машины, хоть и выглядят одинаково (они занимают разные адреса в памяти).

Итак, класс - это некая общность объектов.

Функция, которая предназначается для инициализации (создания) объектов называется конструктором. Ввиду того, что такая функция создаёт (конструирует) объект. В С++ имя конструктора совпадает с именем класса, и вызывается при выделении памяти под объект.В lua бы будем использовать для конструктора имя: __init, а вызываться конструктор будет при создании объекта.

class.MyClass

📎📎📎📎📎📎📎📎📎📎