W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
class 意譯為'類', 是對'對象'的一種抽象描述. 多用與各種面相對象編程語言中.
lua語言沒有原生的class類型, 但是對class
的wrapper提供了基本構(gòu)建的元方法.
cf對此為方便描述內(nèi)置對象與內(nèi)置庫封裝, 使用lua table的相關(guān)元方法建立了最基本的class模型.
cf雖然規(guī)定了一套最基本的class創(chuàng)建、使用方法, 但是不會限制用戶對class的操作方法與操作習(xí)慣.
cf為內(nèi)簡化對基于class封裝的內(nèi)置庫的學(xué)習(xí)成本與代碼可讀性, 去除了class原本擁有的'繼承'概念.
local class = require "class"
class庫已經(jīng)添加到cf框架都路徑中, 可以在任意地方直接導(dǎo)入
local Humen = class("Humen")
function Humen:ctor(opt)
-- 不存在的ctor會發(fā)出警告
-- 即使不需要初始化, 請定義后留空
end
ctor內(nèi)部發(fā)生錯(cuò)誤將會拋出異常.
local Humen = class("Humen")
function Humen:ctor(opt)
self.name = opt.name
self.age = opt.age
self.sex = opt.sex
end
local man = Humen:new({name = "水果糖", age = 27, sex = 'man'})
print(man.name, man.age, man.sex)
ctor僅為初始化使用, new方法將會返回一個(gè)成功創(chuàng)建的對象.
local Humen = class("Humen")
function Humen:ctor(opt)
self.name = opt.name
self.age = opt.age
self.sex = opt.sex
end
function Humen:run()
print("I'm run.")
end
local man = Humen:new({name = "水果糖", age = 27, sex = 'man'})
print(man.name, man.age, man.sex)
man:run()
local Humen = class("Humen")
function Humen:ctor(opt)
self.name = opt.name
self.age = opt.age
self.sex = opt.sex
end
function Humen:setAge(age)
self.age = age
end
function Humen:setName(name)
self.name = name
end
local man = Humen:new({name = "水果糖", age = 27, sex = 'man'})
print(man.name, man.age, man.sex)
man:setName("Candy")
man:setAge(28)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: