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

lua学习笔记19(面相对象学习的一点总结)

print("*****************************面相对象总结*******************************")
object={}
--实例化方法
function object:new()local obj={}self.__index=selfsetmetatable(obj,self)return obj
end-------------------------如何new一个对象
function  object:subClass(className)_G[className]={}local obj=_G[className] obj.base=selfself.__index=selfsetmetatable(obj,self)
end------------------------如何实现继承object:subClass("GameObject")
GameObject.posX=0
GameObject.posY=0
function GameObject:move()self.posX=self.posX+1self.posY=self.posY+1
end
--实例化对象的使用local obj=GameObject:new()print(obj.posX)obj:move()print(obj.posX)local obj2=GameObject:new()print(obj2.posX)obj2:move()print(obj2.posX)--申明一个新的类 player 继承gameobjectGameObject:subClass("player")function  player:move()---------------------如何重写方法--base调用父类方法 用.自己传第一个参数self.base.move(self)endprint("*****")local p1=player:new()print(p1.posX)p1:move()print(p1.posX)

输出

 

http://www.lryc.cn/news/338398.html

相关文章:

  • 视觉SLAM学习打卡【10】-后端·滑动窗口法位姿图
  • 【动态规划 区间dp 位运算】100259. 划分数组得到最小的值之和
  • CSS核心样式-02-盒模型属性及扩展应用
  • 在 Google Cloud 上轻松部署开放大语言模型
  • 005Node.js模块URL的使用
  • 美团笔试复盘
  • IntelliJ IDEA - Since Maven 3.8.1 http repositories are blocked
  • Django的APP应用更名(重命名)流程
  • ChatGLM3-6B大语言模型离线执行
  • 了解大语言模型的参数高效微调(Parameter-Effcient Fine-Tuning)
  • 2024.4.14力扣每日一题——设计哈希集合
  • SQL explain 显示子查询A类型为ALL怎么优化
  • 网络协议学习——IP协议
  • MATLAB初学者入门(1)—— 基础知识和功能介绍
  • React Css 四种引入方式
  • 题目:输入3个数a,b,c,按大小顺序输出。
  • AI预测体彩排3第3弹【2024年4月14日预测--第1套算法开始计算第3次测试】
  • Android 在xml 布局中如何嵌套 Jetpack Compose
  • Spring Boot统一功能处理(一)
  • 我与C++的爱恋:类与对象(二)
  • BERT入门:理解自然语言处理中的基本概念
  • Discoverydevice.java和activity_discoverydevice.xml
  • 华为OD机试 - 最多颜色的车辆(Java JS Python C C++)
  • 【无人机/平衡车/机器人】详解STM32+MPU6050姿态解算—卡尔曼滤波+四元数法+互补滤波——附3个算法源码
  • NzN的C++之路--构造函数与析构函数
  • 【算法刷题day24】Leetcode:216. 组合总和 III、17. 电话号码的字母组合
  • 一体化泵站的生产制造流程怎样
  • 【1】C++设计模式之【单例模式】
  • 软件设计模式之解释器模式
  • java Web课程管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc