@Satellite-109
2020-04-07T03:23:24.000000Z
字数 599
阅读 986
Lua 类 继承
主要实现语法
主要通过 lua 中的元表来实现,元表来实现不同的表之间的操作
local _M = {}-- 这里主要模拟类function _M:new(name)self.__index = selfself.name = self.name or namereturn setmetatable({}, self)endfunction _M:print()print("Name is ", self.name)endlocal a = _M:new("satellite")a:print()--=======================分割线=========================-- 这里主要实现了继承,通过设置元表为另一个表实现表之间的操作local A = {}function A:new(name, age)local m = _M:new(name)self.age = self.age or agesetmetatable(self, {__index = m})return selfendfunction A:getAge()print(self.name, " is ", self.age)enda = A:new("Satellite", 11)a:getAge()
getmetatable() 用法 以及 setmetatable() 用法