这是代码:
class Movie
def initialize(title, rank=0)
@title = title
@rank = rank
end
def to_s
"#{@title} has a rank of #{@rank}"
end
def thumbs_up
@rank += 1
end
def thumbs_down
@rank -= 1
end
end
class Playlist
def initialize(name)
@name = name
@movies = []
end
def add_movie(movie)
@movies << movie
end
def play
puts "#{@name}'s playlist:"
@movies.each do |movie|
movie.thumbs_up
puts movie
end
end
end`
我的问题是关于thumbs_up。这段代码可以正常工作,但是我很好奇如何在Playlist类的play方法中访问大拇指。这是因为要添加到数组中的影片是Movie的实例,因此可以在其上调用thumbs_up吗?如果是这样,那么奇怪的是,该方法可以在不同的类中调用。
谢谢。
这并不奇怪。thumbs_up
是Movie类中对象的公共方法,因此无论电影对象位于何处,都可以对其进行调用thumbs_up
。
该方法是Movie对象的特征之一,它由方法和状态组成(状态是实例变量中存储在类对象中的信息)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句