多型,簡單的理解就是事物的多種形態。專業的術語說就是:同乙個實現介面,使用不同的例項而執行不同的操作。
工程結構:
--對該方法的呼叫體現了多型
11function
baseroom:size()
12return
10013
end14
15function
baseroom:getsize()
16return self:size()*2
17end
1819
return baseroom
marryroom.lua:
1starroom.lua:require
"baseroom"2
3 marryroom ={}45
function
marryroom:new()
6setmetatable
(marryroom, baseroom)
7 baseroom.__index =baseroom
89 self ={}
10setmetatable
(self,marryroom)
11 marryroom.__index =marryroom
1213
return
self
14end
1516
--對該方法的呼叫提現了多型
17function
marryroom:size()
18return
5019
end20
21return marryroom
1碼雲上的相關工程:require
"baseroom"2
3 starroom ={}45
function
starroom:new()
6setmetatable
(starroom,baseroom)
7 baseroom.__index =baseroom
89 self ={}
10setmetatable
(self,starroom)
11 starroom.__index =starroom
1213
return
self
14end
1516
--對該方法的呼叫體現了多型
17function
starroom:size()
18return
2019
end20
21return starroom
Lua 繼承 多型 單利模式 物件導向
lua模擬物件導向程式設計中得繼承 多型,這裡也同時演示設計模式中得單利模式,類的實現都是通過lua中table,這個table太強大了,又可以當集合 陣列 宣告,這裡宣告了類名還有屬性,並且給出了屬性的初始值。class2 class2.a class2 aaa class2.b class2 b...
LUA物件導向程式設計(三)多型
先來了解一下多型的概念。在物件導向語言中,多型本質就是執行時繫結,比如有乙個父類baseclass,它有2個子類subclass1,subclass2。baseclass有乙個方法func 兩個子類都重寫了這個方法。那麼我們可以定義乙個baseclass的引用obj,讓它指向乙個子類的物件,比如ba...
Lua的物件導向,封裝,繼承,多型
我們總所周知物件是由屬性和方法組成的,要用lua要描述乙個物件,也必然要有這兩個特性,屬性和方法。lua的基本結構是table,所以lua的類,其實都是table,因為它可以儲存普通的變數又可以儲存方法,我們利用table就可以描述乙個物件的屬性和方法。其實lua要模擬乙個物件,關鍵就在於 inde...