在另一个类中定义的方法,我不明白方法是如何相互关联的
class Route
attr_reader :stations #getter method
end
class Train
attr_accessor :route #getter and setter method
def show_stations
route.stations # How it works?
end
end
route = Route.new
train = Train.new
train.route = route
train.show_stations
答案 0 :(得分:0)
当方法调用具有显式接收器时,从哪个上下文调用它并不重要。重要的是接收器有这种方法。
方法调用route.stations
的上下文无关紧要。重要的是接收方route
是否具有方法stations
。由于route
是Route
个实例,因此它的方法stations
由attr_reader :stations
定义。