lua 乙個簡單的繼承 派生關係

2021-06-21 09:51:31 字數 421 閱讀 5573

a = 

function a:fun()

print(self.name)

endb =

c =

setmetatable(b,) -- 指定繼承關係

setmetatable(c,) -- 指定繼承關係

b:fun() -- 輸出this is b

c:fun() -- 輸出this is c

由於指定了繼承關係,當c,b呼叫fun在物件本身找不到這個函式時會向元表(在這裡就是基類)找這個函式

而fun傳遞了乙個self,說明name取的是呼叫者本身的name,

可以把c的name去掉試試,變成 c = {} 

這時c:fun()呼叫的是b的name,輸出this is b,原理和找fun函式一樣

乙個簡單的lua除錯工具

最近看起了lua的debug庫,想著可以簡單弄個跟gdb這樣的命令列除錯工具,於是花了幾天時間,搞了個相當簡單的除錯工具,實現了簡單的列印和斷點和下一步的功能 修改變數值的實現方式其實跟列印的操作並沒有很大區別,所以就懶得弄啦 雖然 很粗糙,使用和體驗上也相當奇葩,也勉強把,畢竟也達到了學學習,動動...

繼承與多型的乙個簡單例項

程式結構 父為person類,person類個子類student和employee,employee類又有兩個子類,staff和faculty。繼承即子類可以繼承父類的資料域和方法 student類和employee類繼承了person類的資料域name,address phonenumber e ...

類的繼承與派生簡單習題

設計乙個學生類student,該類包含保護性資料成員 學號 num 姓名 name 性別 定義公用成員函式 readdata 用於輸入num,name和 outputdata 用於輸出num,name和 在學生類的基礎上採用公用繼承派生出研究生類graduate,在graudate類中增加私有資料成...