0
点赞
收藏
分享

微信扫一扫

实现lua面向对象的private属性


代码示例

function GetPerson()

-- 要封装的类
local Person =
{
ID = 0, -- ID
name = "", -- 名字
}

-------------------------- 封装的操作 ---------------------------------
-- 设置ID
local function SetID(ID)
Person.ID = ID
end

-- 获取ID
local function GetID()
return Person.ID
end

-- 设置名字
local function SetName(name)
Person.name = name
end

-- 获取名字
local function GetName()
return Person.name
end

-- 对外提供的接口
-- 原理:新建一个临时表,外面只能操作这里定义的操作
return {SetID = SetID, GetID = GetID, SetName = SetName, GetName = GetName}
end

------------------------------ 测试代码 ------------------------------------

local person = GetPerson()
person.SetID(100)
print(person.GetID())
person.SetName("小明")
print(person.GetName())

测试结果:

实现lua面向对象的private属性_封装

举报

相关推荐

0 条评论