--类Class1
--[[
Class={x=0,y=0}
Class.__index=Class
function Class:new(x,y)
local self={}
setmetatable(self,Class)
self.x=x
self.y=y
return self
end
function Class:Method1()
print(self.x,self.y)
end
function Class:Method2()
self.x=self.x+1
self.y=self.y+1
end
function Class:gto()
return 10
end
function Class:gio()
return self:gto()*3
end
--类Class2继承自类Class1
Class2={z=50}
setmetatable(Class2,Class)
Class2.__index=Class2
function Class2:new(x,y,z)
local self={}
self=Class:new(x,y)
setmetatable(self,Class2)
self.z=z
return self
end
function Class2:gto()
return 50
end
function Class2:go()
self.x=self.x+10
end
function Class2:Method3()
print(self.x,self.y,self.z)
end
local a=Class:new(30,40)
local b=Class2:new(10,20,30)
a:Method1()--30 40
a:Method2()
a:Method1()--31 41
b:Method1()--10 20
b:Method2()
b:Method3()--11 21 30
-- 多态
print(a:gio())--30
print(b:gio())--150
print(a:gio())--30--]]