美文网首页
# Lua 快速笔记(三)OO

# Lua 快速笔记(三)OO

作者: binyu1231 | 来源:发表于2017-07-19 18:20 被阅读19次

class

Animal = { name = "", age = 0 }

function Animal:new (o) 
  o = o or {}
  setmetatable(o, self)
  self.__index = self
  return o
end

function Animal:bark () 
  print(self.name .. ': waor')
end


misha = Animal:new({ name = 'Misha', age = 12 })

misha:bark()

-- string: 'Misha: waor'

ps: 如果要使用self 关键字。new方法必须使用 : 声明。并且调用的时候也要记得用 :

extends

Cat = Animal:new()

function Pet:bark ()
  print(self.name .. ': miao')
end

cat = Cat:new {name = 'as', age = 6 }

cat:bark()


VS Code snippet

"new class": {
    "prefix": "newclass",
    "body": [
      "$1 = { $2 }",
      "",
      "function $1:new (o)",
      "  o = o or {}",
      "  setmetatable(o, self)",
      "  self.__index = self",
      "  return o",
      "end",
      "",
      "$3"
  ]
}

相关文章

  • # Lua 快速笔记(三)OO

    class ps: 如果要使用self 关键字。new方法必须使用 : 声明。并且调用的时候也要记得用 : ext...

  • coolshell lua教程笔记

    collshell lua教程笔记 标签(空格分隔): lua todo 变量 数字 lua的数字只有double...

  • lua入门笔记 目录

    lua的中文API lua入门笔记1 类型 表达式 语句 函数lua入门笔记2 深入函数 深入函数 迭代器与泛型f...

  • Lua 快速笔记(二) syntax

    参考programing in lua 语法 函数 常用函数 语法 局部变量和代码块 控制语句 Lua 认为 fa...

  • Lua 快速笔记(一) type

    参考programing in lua 注释 值和类型 运算符 表 赋值 注释 值和类型 nil 未初始化的变量值...

  • 设计工具箱.1初识

    本文是针对《Head First 设计模式》的阅读笔记。 OO基础 封装 继承 多态 抽象 OO原则 封装变化 多...

  • 615

    (*’(OO)’*)(*’(OO)’*)(*’(OO)’*)(*’(OO)’*)(*’(OO)’*)(*’(OO)...

  • 谁知道呢?

    o(o)oo(o)oo(o)oo(o)oo(o)oo(o)oo(o)oo(o)oo(o)oo(o)oo(o)oo(...

  • Lua 快速入门

    Lua 是一门强大、快速、轻量的嵌入式脚本语言,那么我们如何才能够快速学习和掌握 Lua 语言呢?在这我将分享一下...

  • lua快速排序

网友评论

      本文标题:# Lua 快速笔记(三)OO

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