Lua:复制表的方式实现面向对象

来源:互联网 发布:淘宝盗图扣分年底清零 编辑:程序博客网 时间:2024/05/21 09:25

面向对象类的使用

--克隆函数function clone(tab == nil)    local ins = {};    for key,var in pairs(tab) do        ins[key] = var;    end    return ins;endPeople = {} ;--有参构造函数function People.New(name)    local self = clone(People);    self.name = name;    return self;endfunction People.sayHi()    print("People sayHi!");endlocal p1 = clone(People);p1.sayHi();local p2 = People.new("ZhangSan");p2.sayHi();

面向对象继承

--Man类继承Peoplefunction Copy(dist,tab)    for key,var in pairs(tab) do        dist[key] = var    endendMan= {};function Man.new(name,age)    local self = People.new(name)    self.age =age;    copy(self,Man);    return self;endMan.SyHello = function()    print("Man say hello");end--重写父类函数Man.sayHi = function(self)    print("Man sayHi"..self.name..self.age);endlocal m = Man.new("zhangsan",29);m.sayHi();
原创粉丝点击