lua继承

lua中其实是没有类的,有的只是表(table)

 

lua查找一个表元素时的规则,其实就是如下3个步骤:

  1.在表中查找,如果找到,返回该元素,找不到则往下看;

  2.判断该表是否有元表,如果没有元表,返回nil,有元表则往下看;

  3.判断元表有没有__index方法,如果__index方法为nil,则返回nil;如果__index方法是一个表,则重复1、2、3;如果__index方法是一个函数,则返回该函数的返回值

 

一个简单的lua继承例子:

 1 father = {  
 2     house=1  
 3 }  
 4 father.__index = father -- 把father的__index方法指向自己
 5   
 6 son = {  
 7     car=2  
 8 }  
 9 setmetatable(son, father)  
10 print(son.house)  

 

posted on 2017-03-27 15:00  pandawuwyj  阅读(282)  评论(0编辑  收藏  举报

导航