1.例子:
代码:
class Song
def initialize(name,artist,duration)
@name=name
@artist= artist
@duration=duration
end
end
实例化对象:song = Song.new("Bicylops","Fleck",260)
查看对象详细信息:song.inspect
类似java的toString:song.to_s
重新定义to_s方法:
class Song
def to_s
"Song:@name--#@artist(#@duration)"
end
end
2.继承(加了一个歌词功能)
class KaraokeSong < Song
def initialize(name,artist,duration,lyrics)
super(name,artist,duration)
@lyrics=lyrics
end
end
当调用to_s的时候会在本类找这个函数,如果没有就会去父类去找
3.class Song
attr_reader:name,:artist,:duration
end
song = Song.new("Bicylops","Fleck",260)
song.artist ->"Fleck"
当使用这个的时候会生成name方法获取属性的构造函数初始化的值