cocos2d-x lua中class的定义

本文介绍了在lua中使用cocos2d-x的class方法来定义类和构造函数的过程。通过示例代码展示了如何简化table和metatable的传统定义方式,以及class方法的工作原理和常用创建对象的步骤。
摘要由CSDN通过智能技术生成

在lua中要实现对类的定义一般都是通过metatable来做到的。。例如:

Fjs = {}

function Fjs:new(name)
	local out = {}
	setmetatable(out, self)
	self.__index = self
	out.name = name
	return out
end


function Fjs:sayHello()
	print("my name is " .. self.name)
	print("hello")
end

local fjs = Fjs:new("fjs")
fjs:sayHello()


首先定义了一个table,然后在它上面定义相应的方法,在创建对象的时候,通过将对象的metatable指定为刚刚定义的table,这样也就实现了方法的绑定。。也就实现了类的定义和对象的创建。


上述实现中,自己需要定义一些约定的代码,在cocos2d-x中,为了实现的方便,扩展了一个class方法用于实现定义类型,对于上述类型的定义可以简化为如下:

Fjs = class("Fjs")

function Fjs:ctor(name)
	self.name = nam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值