JTJag
-
Публикации
2 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем JTJag
-
-
У меня есть прототип объекта имеющего свои методы
У другого объекта должны присутствовать все те же методы что и у первого объекта.
Для создания объекта тараканы в голове сказали использовать метод метатаблицы __call
Поначалу думал что сделаю что то вроде:
--Здесь всё работает Object1 = setmetatable({},{ __call = function(self) return setmetatable({t=1},self) end }) Object1.__index = Object1 function Object1:method() print("method "..self.t) end obj = Object1() obj:method() --Вот тут уже нет Object2 = setmetatable(setmetatable({},Object1),{ __call = function(self) return setmetatable({t=2},self) end }) Object2.__index = Object2 function Object2:method2() self:method() end obj = Object2() obj:method2()и это будет работать. Но реальность меня огорчила...


Наследование в lua
в Разные (отсортировать)
Опубликовано:
Спасибо за быстрый ответ, наконец до меня дошло