首页 / LUA / Lua基础(C#的差异)三
Lua基础(C#的差异)三
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Lua基础(C#的差异)三,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1307字,纯文字阅读大概需要2分钟。
内容图文
![Lua基础(C#的差异)三](/upload/InfoBanner/zyjiaocheng/645/e99fc8a46f044214acd33e863609b72e.jpg)
模拟实现类和对象
- self 关键字的作用和 C#当中的 this 关键字的作用是类似,都表示当前“类”的对象
- 调用方法用冒号“:”
--初始化表(类)
Person = {name, age}
--模拟构造方法,(可以在该方法中初始化对象字段)
function Person:New()
--初始化一个新表(对象)
local obj = {}
--将当前类作为新表的元表
setmetatable(obj, Person)
--设置索引,使新表能访问到旧表
Person.__index = Person
--当调用New方法时,返回新表(实例化对象)
return obj
end
--模拟一个方法
function Person:Show()
print(self.name, self.age)
end
return Person
--实例化对象
PersonObj = Person.New()
PersonObj.name = "AA"
PersonObj.age = 20
--调用方法用冒号“:”,否则访问不到self
PersonObj:Show()
继承
Animal = {name}
function Animal:New(name)
local obj = {}
setmetatable(obj,self)
self.__index = self
self.name = name
return obj
end
function Animal:Show()
print("我是动物:" .. self.name)
end
---------继承-----------
--子类继承父类
--(调用New方法,创建新表(类),Bird中的方法才能访问到Animal中的字段)
Bird = Animal:New()
--子类构造方法
function Bird:New(name)
--继承类Animal(调用New方法,创建新表(类),并初始化)
local obj = Animal:New(name)
setmetatable(obj,Bird)
Bird.__index = Bird
return obj
end
function Bird:Eat(food)
print(self.name .. "吃:" .. food)
end
birdObj = Bird:New("鸟")
birdObj:Eat("米")
UlllFeN 发布了9 篇原创文章 · 获赞 2 · 访问量 2643 私信 关注
内容总结
以上是互联网集市为您收集整理的Lua基础(C#的差异)三全部内容,希望文章能够帮你解决Lua基础(C#的差异)三所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。