Lua 继承问题

Object ={x=0,y=0}
Object__index=Object
function Object:new(x,y)

local self={}
setmetatable(self,Object)
self.x=x
self.y=y
return self

end

function Object:test()
print(“Object:test=%d,%d”,self.x,self,y)
end

function Object:test1()
print(“Object:test1=%d,%d”,self.x,self,y)
end

Object1={z=0}
Object1.__index = Object1
function Object1:new(x,y,z)
local self={}
self=Object:new(x,y)
setmetatable(self,Object1)
self.z=z
return self
end

function Object1:test1()
print(“Object1:test1=%d,%d,%d”,self.x,self,y,self.z)
end

function runActivityLayer()

local object=Object:new(1,2)

local Object1=Object1:new(1,2,3)
Object1:test()
Object1:test1()

– local newLayer = ActivityLayer:create()
– cppFunction(3,newLayer)

end

调用test 报错
lua:50: attempt to call method ‘test’ (a nil value)) 各位帮忙看下。

–local inspect = require(“inspect”)
Object ={x=0,y=0}
function Object:new(x,y)
local self={}
setmetatable(self,{__index = Object})
self.x=x
self.y=y
return self
end

function Object:test()
print(“Object:test=%d,%d”,self.x,self.y)
end

function Object:test1()
print(“Object:test1=%d,%d”,self.x,self.y)
end

Object1={z=0}
function Object1:new(x,y,z)
local self={}
setmetatable(self,{__index = Object1})
setmetatable(Object1, {__index = Object:new(x, y)})
self.z=z
return self
end

function Object1:test1()
print(“Object1:test1=%d,%d,%d”,self.x,self.y,self.z)
end

function runActivityLayer()
local Object1=Object1:new(1,2,3)
–print(inspect(Object1, 10))
Object1:test()
Object1:test1()
end
runActivityLayer()

不懂, 帮顶:867::867::867::867: