创建对象:
创建对象是为类的实例分配内存的过程。每个类都有属于自己的内存并共享公共数据。
访问属性:
我们可以使用点号(.)来访问类的属性
访问成员函数
:我们可以使用冒号 : 来访问类的成员函数
--基类
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()