lua面向对象、继承、多态

本文介绍了Lua中的面向对象编程概念,包括类的定义、实例化以及方法的实现。通过示例展示了类Class1及其子类Class2的继承关系,并探讨了多态性在方法调用中的应用。通过不同对象的实例调用相同方法,展示了Lua如何支持多态行为。
摘要由CSDN通过智能技术生成


--类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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值