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