• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.1
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.5
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:3.2
软件大小:253M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[教程心得] lua面向对象编程──设计一个『去年买的表』 [复制链接]

1#

欢迎加入果壳编程 - 终身免费视频教学群(免费学习、贴心辅导)


群号:327610461

--设计一个名为clock的钟表类
do
--方法 设置时间
local function SetTime(self,NewH,NewM,NewS)
self.Hour=NewH
self.Minute=NewM
self.Second=NewS
end
--方法 显示时间
local function ShowTime(self)
if self.Hour==24 then self.Hour=0 end
print(self.Hour.."时 ",self.Minute.."分 ",self.Second.."秒")
end
--方法 加时
local function UpTime(self,tm)
if tm=="s" or tm==nil then
if self.Second<59 then
self.Second=self.Second+1
elseif self.Minute<59 then
self.Second=0;self.Minute=self.Minute+1
elseif self.Hour<24 then
self.Second=0;self.Minute=0;self.Hour=self.Hour+1
else
self.Second=0;self.Minute=0;self.Hour=0
end
elseif tm=="m" then
if self.Minute<59 then
self.Minute=self.Minute+1
elseif self.Hour<24 then
self.Minute=0;self.Hour=self.Hour+1
else
self.Minute=0;self.Hour=0
end
elseif tm=="h" then
if self.Hour<24 then
self.Hour=self.Hour+1
else
self.Hour=0
end
end
end
--方法 减时
local function ReTime(self,tm)
if tm == "s" or tm==nil then
if self.Second>1 then
self.Second=self.Second-1
elseif self.Minute>1 then
self.Second=59;self.Minute=self.Minute-1
elseif self.Hour>1 then
self.Second=59;self.Minute=59;self.Hour=self.Hour-1
else
self.Second=59;self.Minute=59
if self.Hour==1 then
self.Hour=0
else
self.Hour=23
end
end
elseif tm=="m" then
if self.Minute>1 then
self.Minute=self.Minute-1
elseif self.Hour>1 then
self.Minute=59;self.Hour=self.Hour-1
else
self.Minute=59
if self.Hour==1 then
self.Hour=0
else
self.Hour=23
end
end
elseif tm=="h" then
if self.Hour>1 then
self.Hour=self.Hour-1
else
if self.Hour==1 then
self.Hour=0
else
self.Hour=23
end
end
end
end
--构造函数 钟表
function clock(NewH,NewM,NewS)
if type(NewH)~="number" or NewH==nil then
NewH=0
end
if type(NewM)~="number" or NewM==nil then
NewM=0
end
if type(NewS)~="number" or NewS==nil then
NewS=0
end
local obj={
Hour=NewH,
Minute=NewM,
Second=NewS,
["SetTime"]=SetTime,
["ShowTime"]=ShowTime,
["UpTime"]=UpTime,
["ReTime"]=ReTime,
}
return obj
end
-- 私有数据成员
local Hour,Minute,Second
end
--实例化clock类,创建myClock对象,并在创建时通过构造函数给对象的各数据成员赋初值,构造了一个具备时、分、秒初始值的钟表
myClock=clock(18,59,59)
--调用ShowTime方法显示钟表的时、分、秒
myClock:ShowTime()
--调用UpTime方法给钟表加时(参数"s"代表加时1秒、"m"代表加时1分、"h"代表加时1小时,无参数表示加时1秒)
myClock:UpTime()
--再次显示钟表时间
myClock:ShowTime()
print("==========")
--调用SetTime方法给钟表设置时间(参数分别代表时、分、秒)
myClock:SetTime(1,0,0)
--再次显示钟表时间
myClock:ShowTime()
--调用UpTime方法给钟表减时(参数"s"代表减时1秒、"m"代表减时1分、"h"代表减时1小时,无参数表示减时1秒)
myClock:ReTime("m")
--再次显示钟表时间
myClock:ShowTime()

回复可见插件源码下载
clock.rar (, 下载次数:56)


最后编辑果壳王子 最后编辑于 2019-05-16 21:49:43
本主题由 按键合作伙伴 果壳王子 于 2019/5/16 21:48:25 执行 批量删帖 操作
果壳学院 ● 疯狂编程①群:327610461 (编程从未如此性感)
2#

369458729|2020|6|28@

9760f0d00427f629e451548f643b5938|2020|5|17@

-901546577|2019|8|18@

-355506246|2019|8|23@

e24513a1cec53615c8a909fb551e3d6f|2020|5|26@

178462745|2019|11|17@

18467|2020|6|9@

-687997969|2020|6|9@

-1906651691|2020|6|9@

761015364|2020|6|9@

-1326114303|2020|6|9@

1386866839|2020|6|13@

563076|2019|9|04@

1308350143|2019|9|04@

2f268cfcb61f81bdf1b5cd797c3b54f9|2020|9|07@

47dca5806ab470aa9ee04f0ee2ebf7b5|2019|11|12@

7c4ff260aee5338fb5609b6eb6485b0d|2020|8|12@

3acec06d90d5b66472152b4253cfb07d|2020|6|9@






最后编辑果壳王子 最后编辑于 2019-08-21 22:27:39
3#

希望有用 学习了 一直想要精简代码

4#

这时啥意思啊?

5#

lua面向对象编程──设计一个

6#


7#

希望有用

8#


9#


10#

谢谢分享

11#

与/回复主题
RE:lua面向对象编程──设计一个『

12#

gggggggggggggggggggggggg

13#

hhhhhhhhhhh

14#

楼主收徒不。。。

15#

lua面向对象编程──设计一个『去年买

[url=http://bbs.anji
16#

手机版的按键精灵支持面向对象吗

17#

I want to look what locked by louzhu.

18#

1111111111111111234567







Yeah分享

19#

这个可以有

20#


发新话题 回复该主题