# main.rb
# 2007年7月6日
#
#puts "Hello World"
class Song
def initialize(name,artist,duration)
@name=name
@artist=artist
@duration=duration
end
end
aSong=Song.new("Bicylops","Fleck",260)
p aSong.inspect
p aSong.to_s
class Song
def to_s
"Song: #{@name} #{@artist} #{@duration}"
end
end
p aSong.to_s
結果如下
"#song:0xb7c93404 name="\"Bicylops\"," duration="260," artist="\"Fleck\"""
"#song:0xb7c93404"
"Song: Bicylops Fleck 260"
to_s是本來只有單純的印出object id,我們不想那麼無聊,重新定義一個to_s的方法,這意味著我們可以隨時幫class新增方法,這真的跟過去的編譯語言很不一樣,不過畢竟他是script
接著來看getter跟setter的使用方式,這一點比java聰明一點,只要使用attr_reader就可以定義屬性了,後面要接上:variable
...
class Song
attr_reader :name,:artist,:duration
end
p aSong.name
p aSong.artist
p aSong.duration
沒有留言:
張貼留言