
练习课程 : NPC回收功能开发
通过后端和前端两种方式来实现物品回收系统
LOADING
这节课主要讲解了面向对象编程(OOP)在Lua中的实现方式,重点介绍了原表(metatable)和原方法(metamethod)的概念及其应用。以下是课程内容的总结:
__add
实现两个表的相加。__index
处理表中不存在的键,提供默认值或自定义逻辑。player
表包含name
和level
)。player.new()
创建的小明
)。new
方法创建对象,并初始化属性(如actor
的初始值)。setLevel
方法修改level
)。self
实现连续调用(如a:setLevel(1):setHp(100)
)。name
、level
、hp
)和行为(如攻击、升级)。-- 定义类和构造函数
Player = { name = "张三", level = 1 }
function Player.new(actor)
local obj = { actor = actor }
setmetatable(obj, { __index = Player })
return obj
end
-- 创建对象并调用方法
local xm = Player.new("小明")
print(xm.name) -- 输出"张三"
xm:setLevel(1) -- 等级+1
__add
、__index
)。面向对象的核心在于“以对象为中心”的思维方式,后续课程会深入继承和多态的实现。
123