我已經開始使用Coffeescript最近,我不完全掌握類。我嘗試使用上Coffeescript.org教程,這就是我想出了:Coffeescript類
class Item
constructor: (@name, @description) ->
add:() ->
$itemsBox.append("<p class='center item #{@name}'>#{@name}</p>")
remove:() ->
$itemsBox.remove($("##{@name}"))
class permanentItem extend Item
add:() ->
super()
remove:() ->
super()
class permanentUsableItem extend Item
@used: false
@active: true
add:() ->
super()
$useItemSelection.append("<option value='#{@name}'>#{@name}</option>")
remove:() ->
$("#useItemSelection option[value='#{@name}']").remove()
class usableItem extend Item
@numberHeld: 0
@active: false
add:() ->
$itemsBox.append("<p class='center item #{@name}'>#{@name} x#{@numberHeld}</p>")
$useItemSelection.append("<option value='#{@name}'>#{@name}</option>")
remove:() ->
if @numberHeld is 0
super()
$("#useItemSelection option[value='#{@name}']").remove()
else
@numberHeld -= 1
誰能告訴我,如果這是正確的,將所有的#{@name}
的工作的罰款,並沒有超僅指回在父類中具有相同名稱的方法?
看起來很好,乍一看。你遇到問題還是有某種具體問題?如果不是,不幸的是,這個問題將被視爲這個網站的主題。 –
究竟是什麼問題?上述不符合你的期望? –
我還沒有編譯它,但我對super的使用感到困惑,而且我認爲提出其他一些問題是適當的。 – LukeK