我是Ruby的新手,我一直在寻找我的问题的答案,但还没有找到答案。 这是我的代码:
class Animal
def initialize(aName, anAge)
@name = aName
@age = anAge
end
end
class Cat < Animal
def initialize(aName, anAge, aBreed)
@breed = aBreed
super(aName, anAge, aBreed)
end
end
当我尝试创建一个定义了三个参数的新cat对象时,它会说:ArgumentError:参数数量错误(3个为2)。 但是当我用两个参数做同样的事情时我得到了(2个为3)。
我似乎无法弄明白...... 谢谢你的帮助!
答案 0 :(得分:3)
您的超级Animal
构造函数只需要两个参数aName
和anAge
。所以你只应该将Cat
的前两个参数传递给Animal
。
class Cat < Animal
def initialize(aName, anAge, aBreed)
@breed = aBreed
super(aName, anAge)
end
end