Lua_面向对象继承

先创建基类:

Person.lua

Person = {name,age,score}
function Person:new()
	o= o or {};
	setmetatable(o,self)
	self.__index  = self
	self.name = "123";
	self.age = 0;
	self.score = 0;
	return o;
end

function Person:ShowInformation()
	local info = string.format("name:%s,age:%d,score:%.2f",self.name,self.age,self.score)
	print(info)
end

return Person

子类
Student.lua

local Person = require("Person") 
Student = Person:new()
//相当于构造方法
function Student:new()
	
end
//构造方法
function Student:new(name,age,score)
 	o = o or Person:new()
 	setmetatable(o,self)
 	--派生类的元表设置为基类
 	self.__index = Person
 	self.name = name
 	self.age = age;
 	self.score = score
 	return o
end

return Student

Main.lua

local p = "C:\\Users\\Administrator\\Desktop\\LuaCode\\"
package.path = string.format("%s?.lua;%s?\\init.lua;%s?\\.\\?.lua;%s",p,p,p, package.path)

local Person = require("Person")
p = Person:new()
p:ShowInformation();

local Student = require("Student")

s = Student:new("555",45,999)
s:ShowInformation()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yy763496668

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值