Monday, May 14, 2012

Lua에서 클래스 정의하는 법 (1)

다음은 Programming in Lua 의 Chapter 16. Object-Oriented Programming 에 나오는 스타일을 따라 정의한 것. 설명을 위해 책에 등장하긴 했지만 실전에선 잘 안쓰이는 방식.
 Hero = {  
      name = "anonymous",  
      HP = 100,  
 }  
   
 Hero.init = function(self, name, hp)  
      self.name = name  
      self.HP = hp  
 end  
   
 Hero.printMe = function(self)  
      print("Hero : " .. self.name , "HP=" .. self.HP)  
 end  
   
 hero1 = {init = Hero.init, printMe = Hero.printMe}  
 hero1:init("Jack", 70)  
 hero1:printMe() -- Hero : Jack     HP=70  
   
 hero2 = {init = Hero.init, printMe = Hero.printMe}  
 hero2:init("Mimi", 50)  
 hero2:printMe() -- Hero : Mimi     HP=50  
   
 hero1:printMe() -- Hero : Jack     HP=70  
키워드 : OOP

No comments:

Post a Comment