class Song
??? include Comparable?? ##
include
和extend
有什么不同???? ??? ??? ??? ??? ??? ??? ??? ???? ##include
負(fù)責(zé)將
module
插入到類(模塊)中,這樣就能以函數(shù)的形式來調(diào)用方法;而
extend
負(fù)責(zé)將
module
插入到對(duì)象(實(shí)例)中,這樣就添加了特殊方法。
??? @@plays = 0?? ?? ?? ?? ##類變量,必須初始化
??? attr_reader :name, :artist, :duration?? ##分別為@name,@artist,@duration設(shè)置可讀的屬性
??? attr_writer :duration?? ?? ?? ?? ?? ?? ?? ?? ?? ##對(duì)@duration設(shè)置可寫的屬性
???
def initialize(name, artist, duration)
@name = name
@artist = artist
@duration = duration
@plays = 0 ##對(duì)象變量
end
def to_s
"Song: #@name--#@artist (#@duration)"
end
def name ##函數(shù)式的公開所有變量
@name
end
def artist
@artist
end
def duration
@duration
end