lua继承

时间:2023-03-09 20:08:57
lua继承

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)