lua中关于问题点的整理
定义了一个A类
A.lua
local A = {}
function A:new()
local self = {} --创建新的表作为实例的对象
setmetatable( self , {__index = A}) --设置class为对象元表的__index
return self --返回该新表
end
function A:func1()
print("这是A")
end
return A
定义一个B类,让其继承A类
local B = {}local a = require("A")
function B:new()
setmetatable(B , {__index = a}) --设置a为b的元表的__index字段来实现继承
--实例对象
local self = {}
setmetatable(self , {__index = B})
return self
end
local bb = a.func1;
function B:func2()
bb(self)
print("这是B")
end
return B
定义一个C类,在C类中调用A类与B类中的func1()与func2()
local b = require("B")
local s1 = b:new()
s1:func1()
s1:func2()
在B类中调用A类中的func1()方法
local bb = a.func1;
bb(self)
这样就能够在B类中调用A类中的方法