我对Ruby没什么经验,我来自C ++,常用的初始化列表。关于Ruby的一件事我想知道如下:
给定以下类Vehicle及其子类Car:
class Vehicle
attr_reader :wheels
def initialize(wheels)
@wheels = wheels
end
end
class Car < Vehicle
def initialize(car_stuff)
@wheels = 4 # this is the part I don't like! ;)
@car_stuff = car_stuff
end
end
有没有办法调用超类构造函数方法而不是通过类Vehicle
可能有的不同变量?
提前谢谢你。
答案 0 :(得分:4)
这是super
的用途:
class Car < Vehicle
def initialize(car_stuff)
super(4)
@car_stuff = car_stuff
end
end