lua中其实是没有类的,有的只是表(table)
lua查找一个表元素时的规则,其实就是如下3个步骤:
1.在表中查找,如果找到,返回该元素,找不到则往下看;
2.判断该表是否有元表,如果没有元表,返回nil,有元表则往下看;
3.判断元表有没有__index方法,如果__index方法为nil,则返回nil;如果__index方法是一个表,则重复1、2、3;如果__index方法是一个函数,则返回该函数的返回值
一个简单的lua继承例子:
father = {
house=
}
father.__index = father -- 把father的__index方法指向自己 son = {
car=
}
setmetatable(son, father)
print(son.house)