1.類繼承
①**
sharp = --① 父類②呼叫**function sharp:
new()
local new_sharp =
self.__index = self --②,self ==sharp
setmetatable(new_sharp, self) --③
return
new_sharp
endfunction sharp:sharp_func()
print(
"sharp call sharp_func")
endfunction sharp:name()
print(
"sharp call name")
endfunction sharp:val()
print(
string.format("
sharp call val %d
", self._val))
endcircle = sharp:new() --① 子類
function circle:
new()
local new_circle ={}
self.__index = self --②,self ==circle
setmetatable(new_circle, self) --③
return
new_circle
end--新函式
function circle:circle_func()
print(
"circle call circle_func")
end--覆蓋函式name
function circle:name()
print(
"circle call name")
end--覆蓋函式val
function circle:val()
print(
string.format("
circle call val %d
", self._val))
end
local circle = circle:new③輸出結果()circle._val = 2 --覆蓋賦值
circle:sharp_func() --呼叫父類函式
circle:circle_func() --呼叫新函式
circle:name() --呼叫覆蓋函式
circle:val() --呼叫覆蓋函式
四 物件導向 繼承
繼承 一 什麼是繼承 概念 父親有的東西,並且允許繼承,所有孩子就都會有 乙個父類可以擁有多個子類 乙個子類只能擁有乙個父類 二 父子之間的轉換 子類可以轉換成父類,這個父類只能轉換成之前的子類 子類可繼承父類,父類可代表子類 兄弟之間不可繼承。namespace 繼承 namespace 繼承 p...
核心程式設計(四) 物件導向 單繼承 複寫
繼承的出現!就是乙個作用!為了節省 為什麼說節省 你爸爸要是王健林 你是不是就不用愁怎麼獲得錢了?為啥?是不是錢已經有了!直接拿來用就行了!我們想一下奧 狗和人是不是都會吃東西?那麼吃東西這個東西是不是算是他倆的共有屬性?那我就可以把這個吃東西當作父類,讓人和狗繼承 coding utf 8 tim...
核心程式設計(四) 物件導向 單繼承 複寫
繼承的出現!就是乙個作用!為了節省 為什麼說節省 你爸爸要是王健林 你是不是就不用愁怎麼獲得錢了?為啥?是不是錢已經有了!直接拿來用就行了!我們想一下奧 狗和人是不是都會吃東西?那麼吃東西這個東西是不是算是他倆的共有屬性?那我就可以把這個吃東西當作父類,讓人和狗繼承 coding utf 8 tim...