婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua面向對象編程之基礎結構table簡例

Lua面向對象編程之基礎結構table簡例

熱門標簽:杞縣地圖標注app 外呼系統一天耗費多少流量 艾比利外呼系統 免費門店地圖標注注冊入駐 海口智能語音電銷機器人好用嗎 衡水外呼線路解決 昆明電話外呼系統好么 電話機器人每天搜索多少次 陜西便宜電銷機器人軟件

面向對象編程

(Object Oriented Programming,OOP)是一種非常流行的計算機編程架構。

Lua中最基本的結構是table,所以需要用table來描述對象的屬性。

Lua中的function可以用來表示方法。那么Lua中的類可以通過table + function模擬出來。

簡例:

-- Czhenya Lua 面向對象
-- 對于一個對象來說, 屬性 方法
--[[ 兩種定義函數的方式
person.eat = function()
  print(person.name.."在寫LUA")
end
function person.eat()
  print(person.name.."在寫LUA")
end
--]]
--作為原型
Person = {name = 'Czhena',age = 22}
function Person:eat()
  print(self.name.."的年齡是"..self.age)
end
function Person:new(o)  -- 若o是空的則返回false
  local t = o or {}
  --[[ 和下面設置結果一樣,只是兩種不同的方式
  setmetatable{t,self}
  self.__index=self
  --]]
  setmetatable(t,{__index = self})  --設置元表
  --調用一個屬性的時候,如果t中不存在,就會在__index所指的table中查找
  return t
end
-- 類似于通過構造函數創建對象
person1 = Person:new({weight = 100})
person2 = Person:new()
print(person1.name)
print(person1.weight)
print(person2.name)
person1.name = "CZY"  --不會改變元表,添加到person.name
person1:eat()
person2:eat()
--繼承
Student = Person:new()
Student.grade = 1
stu1 = Student:new()
stu1:eat()
print(stu1.grade)

冒號和點定義函數的區別:

-- 使用冒號和點來的定義函數,建議用什么定義函數,用什么調用
person = {name="Czhenya",age=22}
function person:eat()
  print(self.name.."的年齡是"..self.age)
end
person.eat(person)
a = person
--冒號調用self自動賦值
a:eat()
--通過點來調用的時候,self不會自動賦值,必須通過參數傳遞
a.eat(a)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • 深入談談lua中神奇的table
  • Lua Table轉C# Dictionary的方法示例
  • Lua中設置table為只讀屬性的方法詳解
  • Lua編程示例(一):select、debug、可變參數、table操作、error
  • 舉例講解Lua中的Table數據結構
  • Lua table中安全移除元素的方法
  • Lua的table庫函數insert、remove、concat、sort詳細介紹
  • C++遍歷Lua table的方法實例
  • Lua中釋放table占用內存的方法
  • Lua中table的遍歷詳解
  • Lua中獲取table長度問題探討
  • Lua中獲取table長度的方法
  • Lua中table里內嵌table的例子

標簽:臨滄 西寧 宿遷 南京 昌都 營口 海口 泰安

巨人網絡通訊聲明:本文標題《Lua面向對象編程之基礎結構table簡例》,本文關鍵詞  Lua,面向,對象,編程,之,基礎,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua面向對象編程之基礎結構table簡例》相關的同類信息!
  • 本頁收集關于Lua面向對象編程之基礎結構table簡例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 绥宁县| 枣强县| 安化县| 潞西市| 宁晋县| 资阳市| 和硕县| 新建县| 桑植县| 阿合奇县| 黄大仙区| 天门市| 宿松县| 木里| 汝阳县| 六安市| 普定县| 广宗县| 凉城县| 连云港市| 唐山市| 清原| 洛浦县| 陇西县| 昭通市| 罗城| 八宿县| 高尔夫| 民县| 锦屏县| 高邮市| 沙田区| 密山市| 荆州市| 泸溪县| 木里| 江达县| 美姑县| 武鸣县| 三江| 防城港市|