Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534945
  • 博文数量: 114
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-05 21:57
文章分类

全部博文(114)

文章存档

2010年(17)

2009年(26)

2008年(71)

我的朋友

分类:

2009-11-18 16:16:21

感觉Lua用起来很奇怪,但也得慢慢适应这种变化:

-- base class
Window = {
    x = 0,
    y = 0,
    height = 0,
    width = 0,

    display = function(self)
        print('Window', x, y, height, width)
    end
}

-- structure function
function Window:new(o)
    o = o or {}
    setmetatable(o, self)
    self.__index = self;
    return o
end

-- extend
function Window:extend()
    o = {}
    setmetatable(o, self)
    self.__index = self;
    return o
end

-- MyWindow
MyWindow = Window:extend()

-- override
function MyWindow:display()
    print('MyWindow', self.x, self.y, self.height, self.width)
end

-- new MyWindow
s = MyWindow:new{x=1,y=1,height=800,width=600}
s:display()


阅读(4023) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~