lua学习笔记17(面相对象之继承)

Lua 复制代码
print("*****************************面相对象继承*******************************")
object={}
object.id=1
function object:new()
	local obj={}
	self.__index=self 
	setmetatable(obj,self)
	return obj
end
function object:text()
	--面相对象的类其实就是基于table来实现的
	print(self.id)
end
print("******************************")
function object:subClass(className)
	--创建一个名为className的空表
	_G[className]={}
	--大G表是总表 所有声明的全局变量 都以键值对的方式存放在其中
	local obj=_G[className]--定义局部变量等于空表
	self.__index=self
	setmetatable(obj,self)--将空表和object这张表连接起来
end
print(_G)
_G["a"]=114514
_G.b="123"
print(a)
print(b)
print("***********")
object:subClass("person")
print(person.id)

local p1=person:new()--创建了一个继承object的一张表
print(p1.id)
p1.id=55555
print(p1.id)
p1:text()

object:subClass("ak")--创建了一个继承object的一张表ak
local m1=ak:new()--创建了一个继承ak的一张表
print(m1.id)
m1.id=200
print(m1.id)
m1:text()
--print(person)
--print(person.id)
--local p1=person:new()
--print(p1.id)

输出

相关推荐
旖旎夜光13 分钟前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
Nuanyt33 分钟前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
asaotomo36 分钟前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记
熊猫钓鱼>_>1 小时前
鸿蒙PC高分屏与键鼠交互适配:DPI缩放、右键菜单一次讲清
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙·鸿蒙心迹
hey you~1 小时前
云呼叫中心坐席自动分配实战:ACD 策略、Redis+Lua 实现与排查清单
数据库·redis·lua·云呼叫中心·acd·坐席分配·坐席状态机
H_BB1 小时前
面试笔记:数据加密和心跳机制
笔记·面试·职场和发展
海绵宝宝转agent1 小时前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
芒果作者1 小时前
我决定系统学习 Codex,并建立一套自己的知识库
学习
2601_961146202 小时前
实验室等离子表面处理设备安全整改记录:通风、UV、接地三项
笔记·安全·uv
ACP广源盛139246256732 小时前
高速 USB 切换方案选型笔记:10Gbps 全通道同步开关 LH6828@ACP 评估
笔记·硬件架构·国产芯片