美文网首页
lua练习22-实现对象

lua练习22-实现对象

作者: GameObjectLgy | 来源:发表于2020-10-16 16:01 被阅读0次
Person = {name = "张三", age = 25}
function Person:eat()
    print(self.name.." is eating")
    print(self.name.."'s age is "..self.age)
end

--a = Person
--a.eat(a)

function Person:new(o)
    local t = o or {}

    setmetatable( t, { __index=self })  --调用一个属性的时候,如果t中不存在,那么会在__index 所指定的table中查找
    self.__index = self
    return t
end

Person1 = Person:new()
Person1.name = "李四"
Person1.age = 30
Person1:eat()
Person1.weight = 80

print(Person1.weight)

结果:
李四 is eating
李四's age is 30
80

相关文章

  • lua练习22-实现对象

    结果:李四 is eating李四's age is 3080

  • 大话C与Lua(五) 面向对象的数据结构——userdata

    如何实现面向对象? 熟悉Lua的同学都知道!在Lua内部已经实现了面向对象的基本机制(table), 同时也为宿主...

  • 2018-08-02

    lua实现继承,重载和多态(上) *讲到lua的继承等面向对象的实现,首先得讲一下lua中的几个元方法和元表. s...

  • Lua实现继承

    Lua实现继承 我们知道在Lua脚本语言中是没有对象这个概念的。但是Lua为我们提供了一堆的元方法,可以实现类的继...

  • lua实现多继承

    lua对于面向对象的支持主要通过table来实现,每个table都是一个对象,对于继承,lua有元表的机制,通过s...

  • Lua面向对象实现

    这个类主要是把基类和派生类绑定起来,并且调用ctor构造函数用法如下 注意调用父类的方法要用"."别用":"是因为...

  • Lua实现面向对象

    注:只是仿照,并不是真正的面向对象C#中是用this表示当前类的对象,Lua中使用self点(.)与冒号(:)的区...

  • Lua 实现面向对象 (原创)

    要理解Lua是如何实现面向对象的。首先要熟悉Lua元表的相关知识,可以阅读我上一篇文章《Lua元表 (Metata...

  • 对lua中类、实例、继承的理解

    lua底层有__index等表,去实现类,实例、继承。但是比较绕。 参考1.1.5.Lua语言面向对象之复制表的方...

  • Lua脚本中实现Class机制

    纯lua脚本实现c++中的类的概念机制,后面空了把lua和c++的交互,lua中直接声明和使用c++中定义的对象补...

网友评论

      本文标题:lua练习22-实现对象

      本文链接:https://www.haomeiwen.com/subject/zunzyktx.html