Lua基礎 +Lua源碼詳解

創建對象:創建對象是爲類的實例分配內存的過程。每個類都有屬於自己的內存並共享公共數據。
訪問屬性:我們可以使用點號(.)來訪問類的屬性
訪問成員函數:我們可以使用冒號 : 來訪問類的成員函數

--基類
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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章