require 'Class'--声明了新的属性ZSubClass = {z = 0}--设置类型是Classsetmetatable(SubClass, Class)--还是和类定义一样,表索引设定为自身SubClass.__index = SubClass--这里是构造方法function SubClass:new(x,y,z)local t = {} --初始化对象自身t = Class:new(x,y) --将对象自身设定为父类,这个语句相当于其他语言的super 或者 basesetmetatable(t, SubClass) --将对象自身元表设定为SubClass类t.z= z --新的属性初始化,如果没有将会按照声明=0return tend--定义一个新的方法function SubClass:go()self.x = self.x + 10end--重定义父类的方法,相当于overridefunction SubClass:test()print(self.x,self.y,self.z)end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。