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()
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36748278/article/details/79968414
文章标签: lua 继承 对象 函数
个人分类: Lua
上一篇Lua生产者与消费者问题
下一篇C++关联容器
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭