本文主要是介绍lua学习笔记19(面相对象学习的一点总结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
print("*****************************面相对象总结*******************************")
object={}
--实例化方法
function object:new()local obj={}self.__index=selfsetmetatable(obj,self)return obj
end-------------------------如何new一个对象
function object:subClass(className)_G[className]={}local obj=_G[className] obj.base=selfself.__index=selfsetmetatable(obj,self)
end------------------------如何实现继承object:subClass("GameObject")
GameObject.posX=0
GameObject.posY=0
function GameObject:move()self.posX=self.posX+1self.posY=self.posY+1
end
--实例化对象的使用local obj=GameObject:new()print(obj.posX)obj:move()print(obj.posX)local obj2=GameObject:new()print(obj2.posX)obj2:move()print(obj2.posX)--申明一个新的类 player 继承gameobjectGameObject:subClass("player")function player:move()---------------------如何重写方法--base调用父类方法 用.自己传第一个参数self.base.move(self)endprint("*****")local p1=player:new()print(p1.posX)p1:move()print(p1.posX)
输出
这篇关于lua学习笔记19(面相对象学习的一点总结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!