类实现示例.lua 916 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. --[[
  2. -- 测试类说明
  3. -- 这里演示类的写法,单类,不参与继承的写法
  4. --]]
  5. local CFather = require "CFather"
  6. local setmetatable = setmetatable -- 不要忘记,创建对象不需要查全局表
  7. --@brief 这里是创建类
  8. local CTestClass = __newclass "CTestClass"
  9. --[[
  10. -- 如果该类默认有数据可以这样的写法:
  11. local CTestClass = __newclass(
  12. "CTestClass",
  13. {
  14. key1 = value1,
  15. key2 = value2
  16. }
  17. ]]
  18. -- 如果需要继承CFather, 特别注意 CFather的dofile必须在这之前
  19. CTestClass:extend(CFather)
  20. --@brief 创建对象接口
  21. function CTestClass:new()
  22. local obj = CFather:new()
  23. --obj.name = value
  24. setmetatable(obj, self)
  25. return obj
  26. end
  27. ---------------------------------------------------------
  28. --以下添加成员函数
  29. --@brief 定义成员函数
  30. function CTestClass:func()
  31. end
  32. --以上添加成员函数
  33. ---------------------------------------------------------