时间:2021-05-22
代码很简单,这里就不多废话了,大家主要看看思路
复制代码 代码如下:
function class(super)
local mt = {__call = function(_c, ...)
local function create(_c, _o, ...)
if _c.__super then create(_c.__super, _o, ...) end
if _c.__ctor then _c.__ctor(_o, ...) end
return _o
end
local _o = create(_c, {}, ...)
return setmetatable(_o, _c)
end}
mt.__index = super or mt
return setmetatable({__super = super}, mt)
end
----------------------------------------------------------------------
A = class()
function A:__ctor(s)
self.i = 123
self.j = 333
print('A ctor', s)
end
local a = A('a')
print(a.i, a.j)
-- B继承A
B = class(A)
function B:__ctor(s)
self.i = 444
print('B ctor', s)
end
local b = B('b')
print(b.i, b.j)
示例截图
以上就是本文的全部内容了,希望大家能够喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
类在很多面向对象的语言中有类(class)的概念,对象是类的实例。Lua中不存在类的概念。Lua就像JavaScript一样是面向原型的语言(http://en
本文实例分析了PHP面向对象程序设计方法。分享给大家供大家参考,具体如下:PHP5开始支持面向对象,示例如下:attr1=$param;echo
本文实例讲述了PHP模拟一般面向对象语言中的方法重载(overload)。分享给大家供大家参考,具体如下:在一般的面向对象设计语言(如C++,Java)中的方法
简单说说Lua中的面向对象Lua中的table就是一种对象,看以下一段简单的代码:复制代码代码如下:localtb1={a=1,b=2}localtb2={a=
之前介绍Lua的数据类型时,也提到过,Lua的函数是一种“第一类值(First-ClassValue)”。它可以:存储在变量或table(例如模块和面向对象的实