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類中增加私有資料成...