Slog55 lua物件導向之lua類

2021-09-24 08:31:55 字數 2897 閱讀 8555

現實中的事情不是根據人的喜好而定的 比如長在你嘴裡的智齒 大部分情況下 你會因為自己(的牙)而痛苦 直到忍痛拔掉 鮮血淋漓 也許痛過之後 才能回歸正途

需要的資訊和資訊源:~/desktop/lua_learningload/lua_class/employee.lua

-- 檔名為 employeepackage.lua

-- 定義乙個名為 employeepackage 的模組

-- meta class

employeepackage =

-- 派生類的方法 new

function

employeepackage:new

(o,name,salary)

e = e or {}

setmetatable(e, self)

self.__index = self

self.empcount = self.empcount + 1

self.name = name

self.salary = salary

return e

end-- 派生類的方法 printarea

function

employeepackage:info

() print("total employee ", self.empcount)

print("name : " , self.name)

print("salary: " , self.salary)

endemp = employee:new(nil,'xiaoming',1024)

emp:info()

複製**

~/desktop/lua_learningload/lua_class/employee/lua

-- 檔名為 employeepackage.lua

-- 定義乙個名為 employeepackage 的模組

-- meta class

employeepackage =

-- 派生類的方法 new

function

employeepackage:new

(o,name,salary)

e = e or {}

setmetatable(e, self)

self.__index = self

self.empcount = self.empcount + 1

self.name = name

self.salary = salary

return e

end-- 派生類的方法 printarea

function

employeepackage:info

() print("total employee ", self.empcount)

print("name : " , self.name)

print("salary: " , self.salary)

end複製**

cd ~/desktop/lua_learningload/lua_class/employee.lua

lua ./employee.lua

total employee 	1

name : xiaoming

salary: 1024

複製**

~/desktop/lua_learningload/lua_class/

-- meta class

employeepackage =

-- 派生類的方法 new

function

employeepackage:new

(o,name,salary)

e = e or {}

setmetatable(e, self)

self.__index = self

self.empcount = self.empcount + 1

self.name = name

self.salary = salary

return e

end-- 派生類的方法 printarea

function

employeepackage:info

() print("total employee ", self.empcount)

print("name : " , self.name)

print("salary: " , self.salary)

endreturn employeepackage

複製**

~/desktop/lua_learningload/lua_class/employeepackage.lua

-- run.lua 檔案

-- employeepackage 模組為上文提到到 employeepackage.lua

-- 別名變數 p

local p = require("employeepackage")

emp = p:new(nil,'xiaoming',1024)

emp:info()

複製**

cd ~/desktop/lua_learningload/lua_class/

lua ./run.lua

total employee 	1

name : xiaoming

salary: 1024

複製**

Slog55 lua物件導向之lua類

現實中的事情不是根據人的喜好而定的 比如長在你嘴裡的智齒 大部分情況下 你會因為自己 的牙 而痛苦 直到忍痛拔掉 鮮血淋漓 也許痛過之後 才能回歸正途 需要的資訊和資訊源 desktop lua learningload lua class employee.lua 檔名為 employeepack...

lua物件導向

直接貼 參考的也是別人的,只不過其中幾點,增加一點自己的理解 local baseclass print baseclass是 tostring baseclass 定義index屬性,指向本身 baseclass.index baseclass 定義建構函式 function baseclass ...

Lua 物件導向

記錄學習過程 建立日期 2019 04 14 物件由屬性和方法組成。lua中最基本的結構是table,所以需要用table來描述物件的屬性。lua 中的 function 可以用來表示方法。那麼lua中的類可以通過 table function 模擬出來。乙個簡單的物件導向例子 屬性 person ...