Lua中面向对象的一个问题

[复制链接]
查看1888 | 回复7 | 2021-9-21 04:38:23 | 显示全部楼层 |阅读模式
本帖最后由 蜗牛 于 2021-9-21 04:39 编辑

Lua中面向对象是这样实现的吗
请大家无视接码平台是否可以重用。

  1. 接码平台 = {

  2. user = '', --账号
  3. pass = '', --密码
  4. id = '',   --项目ID
  5. url = '',  --接码网址
  6. phone = '',--获取到的手机号
  7. token = '',--token
  8. code = '', --验证码
  9. money = '' --余额


  10. }

  11. function 接码平台:new(o)
  12.         local t = o or {}
  13.         setmetatable(t,{__index = self})
  14.         return t
  15. end


  16. --初始化
  17. function 接码平台:init(url,user,pass,id)
  18.         self.url = url
  19.         self.user = user
  20.         self.pass = pass
  21.         self.id = id
  22. end


  23. --登录
  24. function 接码平台:login()
  25.         local ret,code = httpGet(self.url .. 'logins?username='..self.user ..'&password='..self.pass)
  26.         if code == 200 then
  27.                 local JsonResult = jsonLib.decode(ret)
  28.                 local message = JsonResult.message
  29.                 if message == '登录成功' then
  30.                         self.token = JsonResult.token
  31.                         self.money = JsonResult.data[1].money
  32.                         return message, self.token, self.money
  33.                 else
  34.                         return message
  35.                 end
  36.         else
  37.                 return code
  38.         end
  39.         
  40. end



  41. 德芙云平台 = 接码平台:new()
  42. 德芙云平台:init('43.228.66.19:81/api/','604532904','q123456','10000')
  43. 德芙云平台:login()

复制代码



回复

使用道具 举报

yideng | 2021-9-21 11:19:59 | 显示全部楼层
还可以进一步封装,把class定义封装一下。
回复

使用道具 举报

蜗牛 | 2021-9-21 19:25:09 | 显示全部楼层
yideng 发表于 2021-9-21 11:19
还可以进一步封装,把class定义封装一下。

好的谢谢
回复

使用道具 举报

风雷 | 2021-9-22 09:04:57 | 显示全部楼层
lua 类也是表的一种表现.形式
类也就是封装一些属性的方法(动作or函数)

如你的接码平台...对接具体的那个平台.无需写进地去.只需要一个空的方法就行. 用实现类来覆盖就行.

你所谓的重用..也就是一些相对公用的逻辑被 封装..

  必要的属性  账号,密码,接入平台  方法.上传验证,验证结果处理这些

  如果说换一个接码平台就要改的东西..不要封装在这个类..具体的东西放在实现类里
回复

使用道具 举报

蜗牛 | 2021-9-22 19:02:19 | 显示全部楼层
风雷 发表于 2021-9-22 09:04
lua 类也是表的一种表现.形式
类也就是封装一些属性的方法(动作or函数)

回复

使用道具 举报

jiang2798 | 2021-10-6 19:36:44 | 显示全部楼层
学些了
回复

使用道具 举报

hitcsky | 2021-11-15 17:27:49 | 显示全部楼层
百度 lua class 第一个直接抄代码
回复

使用道具 举报

anyoucai | 2021-11-30 22:36:28 | 显示全部楼层
可以的哦.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则