当前位置: 首页 > news >正文

有专门教做家具的网站百度推广登录入口下载

有专门教做家具的网站,百度推广登录入口下载,安徽省建设监理有限公司网站,日语网站建设参考链接: 系列链接: Lua语法(一) 系列链接: Lua语法(二)——闭包/日期和时间 系列链接: Lua语法(三)——元表与元方法 系列链接: Lua语法(四)——协程 系列链接: Lua语法(五)——垃圾回收 系列链接: Lua语法(六)——面相对象编程 使用Lua表 进行类的模拟&#xff0…

参考链接:
系列链接: Lua语法(一)
系列链接: Lua语法(二)——闭包/日期和时间
系列链接: Lua语法(三)——元表与元方法
系列链接: Lua语法(四)——协程
系列链接: Lua语法(五)——垃圾回收
系列链接: Lua语法(六)——面相对象编程

使用Lua表 进行类的模拟,从而面向对象编程

Lua语法 六——面相对象编程

      • 面向对象编程
        • 类创建
          • 创建类方法的方式
          • 冒号和点的区别
        • 继承
        • 属性私有性—对偶表示

面向对象编程

类创建

Lua中没有类这个类型,所以只有用表来模拟类

创建类方法的方式

方式1:表内用键值对的方式

方式2:表外使用 : 冒号

方式3:表外使用 点 .

案例见下方代码

冒号和点的区别

冒号是点的缩写形式,可以省略传入自身这个参数

综合案例:

--方式1  表内用键值对的方式
Show={score = 0,--使用键值对创建方法,如果要用到内部变量,需要加上selfaddScore = function (self,v)self.score = self.score + vprint(self.score)end
}--方式2  使用 : 冒号可以省略传入自己这个参数
function Show:decScore(v)self.score = self.score -vprint(self.score)
end--方式3   使用 点 . 需要添加上self
function Show.mulScore(self,v)self.score = self.score + v*2print(self.score)
endfunction Show:new(o)o = o or {}self.__index = selfsetmetatable(o,self)return o
endlocal a = Show:new()
a:addScore(10)
a:decScore(5)
a.mulScore(a,5)     --使用点来调用方法必须要传入自己
--输出
10
5
15
继承
Show={score = 0,--使用键值对创建方法,如果要用到内部变量,需要加上selfaddScore = function (self,v)self.score = self.score + vprint(self.score)end
}--使用 : 冒号可以省略传入自己这个参数
function Show:decScore(v)self.score = self.score -vprint(self.score)
end--使用 点 . 需要添加上self
function Show.mulScore(self,v)self.score = self.score + v*2print(self.score)
endfunction Show:new(o)o = o or {}self.__index = selfsetmetatable(o,self)return o
end
-------------继承自Show---------------
BigShow = Show:new()    --继承自Showlocal big = BigShow:new{min =0}big:addScore(10)
big:decScore(5)
-- big:mulScore(5)
big.mulScore(big,5)
print(big.min)--输出
10
5
15
0
属性私有性—对偶表示

使用对偶表示,实现属性相对私有性。

local score ={}
Show = {}function Show:addScore(v)score[self] = score[self] + v
endfunction Show:decScore(v)score[self] = score[self] - v
endfunction Show:score(v)return score[self]
endfunction Show:new(o)o = o or {}setmetatable(o,self)self.__index = selfscore[o]=0  --初始化分数return o
endlocal big = Show:new()
big:addScore(10)    --只能通过方法进行修改内部属性值
print(big:score())  --只能通过方法访问内部属性
print(big.score(big))--输出
10
10

参考链接:
系列链接: Lua语法(一)
系列链接: Lua语法(二)——闭包/日期和时间
系列链接: Lua语法(三)——元表与元方法
系列链接: Lua语法(四)——协程
系列链接: Lua语法(五)——垃圾回收
系列链接: Lua语法(六)——面相对象编程

http://www.ds6.com.cn/news/89893.html

相关文章:

  • wordpress生成海报分享seo是什么专业
  • 神一般的网页设计网站个人做外贸怎样起步
  • 做网站有发展吗seo词库排行
  • php和mysql做租车网站百度指数查询工具app
  • 做物流网站的多少钱武汉网站快速排名提升
  • 织梦网站修改幻灯片深圳优化网站方法
  • 瑜伽wordpress模板鞍山seo公司
  • wordpress linux 权限设置seo结算系统
  • 西安建站模板厂家google play
  • 网站开发实战网络课重庆网站
  • 网站建设 网址导航东莞网络营销
  • 做百度移动网站优免费私人网站建设软件
  • 外贸在什么网站做郑州做网络营销渠道
  • oa系统网站建设真实的网站制作
  • 国内代理ip地址 免费如何进行seo搜索引擎优化
  • 武汉便宜的做网站公司微信营销怎么做
  • 个人怎么做微信公众号和微网站吗白帽seo是什么
  • 做网站烧钱产品如何推广市场
  • 电脑做系统哪个网站比较好用seo的含义
  • linux网站开发百中搜优化软件
  • wordpress注释seo属于什么职位类型
  • 网站快速排名服务商宁波网络营销怎么做
  • 有没有找人做标书的网站广东网站营销seo费用
  • 做app网站有哪些软文推广模板
  • 响应式网站建设平台seo搜索引擎优化实训报告
  • 国内做设计的网站建设sem培训机构
  • 网站建设基本范例比较好的搜索引擎
  • 编程scratch网站网站seo的主要优化内容
  • 怎样做境外网站厦门seo小谢
  • 北京做网站建设价格长春网站制作方案定制