摘自《Lua程序設計》16.3

「多重繼承意味着一個類擁有多個父類,因此,咱們不能用建立一個類的方法去建立子類。取而代之的是,咱們定義一個特殊的函數 createClass 來完成這個功能,將被建立的新類的父類做爲這個函數的參數。這個函數建立一個表來表示新類,而且將它的metatable 設定爲一個能夠實現多繼承的__index metamethod。儘管是多重繼承,每個實例依然屬於一個在其中能找獲得它須要的方法的單獨的類。因此,這種類和父類之間的關係與傳統的類與實例的關係是有區別的。特別是,一個類不能同時是其實例的metatable 又是本身的 metatable。在下面的實現中,咱們將一個類做爲他的實例的metatable,建立另外一個表做爲類的metatable」函數

相關文章
相關標籤/搜索