Lua一日游:(4)面向对象——函数闭包形式 Published at: 2014-03-09 | Reading: 195 words ~1min | PV/UV: / 我们直接来看代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -- 函数闭包来实现面向对象 -- 运行速度略慢与复制表的方式, 不过可以忽略不计 function Car(name) local self = {} -- 函数内部的一个local value local function init() self.name = name end self.introCar = function() print("hello "..self.name) end init() return self end -- 构造了一个Car对象 local p = Car("bengchi") p:introCar() -- 继承的实现,如果我们假设Plane可以继承自Car的话 function Plane(name) local self = Car(name) -- local function init() --也可以复写 -- end self.introPlane = function() print("hi "..self.name) end return self end local m = Plane("feiji") m:introCar(); m:introPlane();