Lua实现面向对象的实验

本文探讨了Lua中实现类继承的问题,通过一个实例展示了在使用元表直接指向类自身实现继承时,可能导致子类操作父类的table字段影响到父类值的缺陷。作者提出值类型不受影响,而表类型会引发问题,并引入了clone函数用于解决引用传递带来的影响。
摘要由CSDN通过智能技术生成

这样对吗?

关于实现Lua类继承的代码, 今天深入的思考了一下,首先来看看这段有问题的代码:

local ClassA ={
    msg = "111",   --value
    msgtable = {
  "v1","v2"} --table
}

function ClassA:New()
    local new = {}
    --元表赋值
    setmetatable(new, {__index = self})
    return new
endr

现在我们调用ClassA的方法New生成子类ClassB,并创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值