基于上一篇文章
local class={x=5}
function class:new()--定义创建对象方法
o={}--新建一个table
setmetatable(o,{__index=self})--相当于空继承出一个class的 对象
--【【
等效于
setmetatable(0,self)
self.__index=self--self为调用者
--】】
return o
end
local a=class:new()--new 中 self为class
a.x=6
print(a.x)
print(class.x)
- local class={x=5}
- function class:new()--定义创建对象方法
- o={}--新建一个table
-
- setmetatable(o,{__index=self})--相当于空继承出一个class的 对象
- --【【
- 等效于
- setmetatable(0,self)
- self.__index=self--self为调用者
- --】】
- return o
- end
-
- local a=class:new()--new 中 self为class
- a.x=6
- print(a.x)
- print(class.x)
local class={x=5}
function class:new()--定义创建对象方法
o={}--新建一个table
setmetatable(o,{__index=self})--相当于空继承出一个class的 对象
--【【
等效于
setmetatable(0,self)
self.__index=self--self为调用者
--】】
return o
end
local a=class:new()--new 中 self为class
a.x=6
print(a.x)
print(class.x)