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)

输出

相关推荐
辣知4 分钟前
辣知·化智49 黄帝时期至夏朝的一千年
学习
神明不懂浪漫21 分钟前
【第四章】索引——B+树、回表,加快数据库的查找能力的利器
开发语言·数据结构·数据库·经验分享·笔记·b树
是隼人29 分钟前
buuctf-pwn PWN2(整数溢出)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
hui-梦苑36 分钟前
[Math]复合函数极限存在定理:单调连续函数反函数连续性定理推论
学习·数学·定理·函数极限·海涅定理
在线OJ的阿川1 小时前
基于智慧一考通Web平台的测试报告
功能测试·学习·测试报告
YHHLAI1 小时前
Danci —— 用 AI 驱动开发一个全栈英语单词学习平台
人工智能·学习
LuminousCPP1 小时前
数据结构 - 排序(二):快速排序从错误初版到优化版|双指针划分 + 三数取中 + 小区间插入优化
c语言·数据结构·笔记·算法·排序算法
smartpi_ai1 小时前
自学习“放着不动“会自动退出吗?超时退出缺席的交互兜底、退出条件挂串口的状态联动设计
学习·microsoft·交互
苦猿的大模型日记1 小时前
Day58|从0学习 Claude Code(八):对话越聊越长,我给它装了个自动碎纸机
学习