創建對象:
創建對象是爲類的實例分配內存的過程。每個類都有屬於自己的內存並共享公共數據。
訪問屬性:
我們可以使用點號(.)來訪問類的屬性
訪問成員函數
:我們可以使用冒號 : 來訪問類的成員函數
--基類
Shape = {area = 0}
--基礎類方法
function Shape:new(s,side)
s = s or {}
setmetatable(s,self)
self.__index = self
side = side or 0
self.area = side * side
return s
end
--基礎類方法
function Shape:printArea()
print("面積爲 ",self.area) --通過.來訪問類的屬性
end
--創建基類對象,創建對象是爲類的實例分配內存的過程。每個類都有屬於自己的內存並共享公共數據
myshape = Shape:new(nil,10)
myshape:printArea() --通過:來訪問類的成員函數
--square類繼承shape類
Square = Shape:new()
function Square:new(s,side)
s = s or Shape:new(s,side)
setmetatable(s,self)
self.__index = self
return s
end
--派生類方法
function Square:printArea()
print("正方形面積爲 ",self.area)
end
mysquare = Square:new(nil,10)
mysquare:printArea()