Hero = {}
Hero.new = function(name, HP)
local instance = {}
local maxHP = 100
local name_ = name or "anonymous"
local HP_ = HP or maxHP
instance.setHP = function(hp)
HP_ = hp
end
instance.printMe = function()
print("Hero : " .. name_ , "HP=" .. HP_)
end
return instance
end
hero1 = Hero.new(nil, nil)
hero2 = Hero.new("Mika", 80)
hero1.printMe()
hero2.printMe()
hero2.setHP(70)
hero1.printMe()
hero2.printMe()
키워드 : OOP
Monday, May 14, 2012
Lua에서 클래스 정의하는 법 (3) Closure 방식
다음은 lua-users.org/wiki 의 Object Orientation Closure Approach 에 나오는 스타일을 따라한 것. (2) Table 방식과의 performance 비교도 되어 있음. 결론은, 성능상으로는 둘 다 비슷하므로 코딩 스타일에 따라 선택하는 게 좋다는 것.
Labels:
Lua
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment