W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
你有一些通用方法,你想把他們包含到很多不同的類(lèi)中。
使用mixOf庫(kù)函數(shù),它會(huì)生成一個(gè)混合父類(lèi)。
mixOf = (base, mixins...) ->
class Mixed extends base
for mixin in mixins by -1 #earlier mixins override later ones
for name, method of mixin::
Mixed::[name] = method
Mixed
...
class DeepThought
answer: ->
42
class PhilosopherMixin
pontificate: ->
console.log "hmm..."
@wise = yes
class DeeperThought extends mixOf DeepThought, PhilosopherMixin
answer: ->
@pontificate()
super()
earth = new DeeperThought
earth.answer()
# hmm...
# => 42
這適用于輕量級(jí)的混合。因此你可以從基類(lèi)和基類(lèi)的祖先中繼承方法,也可以從混合類(lèi)的基類(lèi)和祖先中繼承,但是不能從混合類(lèi)的祖先中繼承。與此同時(shí),在聲明了一個(gè)混合類(lèi)后,此后的對(duì)這個(gè)混合類(lèi)進(jìn)行的改變是不會(huì)反應(yīng)出來(lái)的。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: