/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/oop-practice-sources/lua/animal-inheritance.lua
39 строк
626 B
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
local Animal = {} function Animal:new(name) local obj = setmetatable({name = name}, {__index = self}) return obj end function Animal:eat() print(self.name .. " ест") end local Cat = {} setmetatable(Cat, {__index = Animal}) function Cat:new(name) return Animal.new(self, name) end function Cat:speak() print("Мяу!") end local Dog = {} setmetatable(Dog, {__index = Animal}) function Dog:new(name) return Animal.new(self, name) end function Dog:speak() print("Гав!") end local cat = Cat:new("Мурка") local dog = Dog:new("Шарик") cat:eat() cat:speak() dog:eat() dog:speak()