local Vehicle = {} Vehicle.__index = Vehicle function Vehicle.new(name) return setmetatable({ name = name }, Vehicle) end function Vehicle:describe() print(self.name .. " is a vehicle.") end local Car = setmetatable({}, { __index = Vehicle }) Car.__index = Car function Car.new(name) return setmetatable(Vehicle.new(name), Car) end Car.new("Beetle"):describe()