Lua的OOP编程
表的字段与方法
--本质上lua的OOP编程, 使用table来实现模拟 --定义空表,相当有一个类 Person = {} --定义字段 Person.Name="刘坤" Person.Gender="男" Person.Profession="CS.GO" Person.Height=170 --定义方法 Person.Speak= function() --匿名函数定义 print("刘坤的瘤子真多啊") end function Person.Walking() --常用方式定义 print("刘坤是个Five") end function Person.ShowInfo() print("调用我个人的身高") print("身高 : "..Person.Height) print("职业 : "..Person.Profession) end --调用字段及方法 print(Person.Name) print(Person.Gender) print(Person.Profession) print(Person.Height) --调用方法 print(Person.Speak()) print(Person.Walking()) print(Person.ShowInfo())
引入局部变量降低程序的耦合性
Person = {} --local people = Person --定义字段 Person.Name="刘坤" Person.Gender="男" Person.Profession="CS.GO" Person.Height=170 --定义方法 function Person:Speak () --匿名函数定义 print("刘坤的瘤子真多啊") end function Person:Walking() --常用方式定义 print("刘坤是个Five") end function Person:ShowInfo() print("调用我个人的身高") print("身高 : "..self.Height) print("职业 : "..self.Profession) self.Speak() self.Walking() end --改善函数定义方式,使用self关键字 (配合函数使用'冒号'定义函数) function Person:Show() print("调用我个人的身高") print("身高 : "..self.Height) print("职业 : "..self.Profession) self.Speak() self.Walking() end a = Person --将Person赋值给a Person = nil --销毁Person的指针 a.ShowInfo(); --继续调用原来的方法, 任然可以调用