local TBaseClass = {
a = 1,
b = 2,
}
function TBaseClass:fun1()
print("TBaseClass:fun1");
print(tostring(self));
print(tostring(TBaseClass));
print(self.a.." -> self.a");
print(self.b.." -> self.b");
end;
function TBaseClass:create()
local tb = {};
setmetatable(tb, {__index = self,})
tb.super = self;
return tb;
end;
TBaseClass:fun1();
local pBaseClass = TBaseClass:create();
pBaseClass:fun1();
print(pBaseClass.a.." ->pBaseClass.a");
print(pBaseClass.b.." -> pBaseClass.b");
pBaseClass.a = 3;
pBaseClass.b = 4;
TBaseClass:fun1();
pBaseClass:fun1();
pBaseClass.super:fun1();
输出结果是
TBaseClass:fun1
table: 0290B4A8
table: 0290B4A8
1 -> self.a
2 -> self.b
TBaseClass:fun1
table: 0290B700
table: 0290B4A8
1 -> self.a
2 -> self.b
1 -&