我用super
来初始化父类,但我看不到任何从子类方法调用父类的方法.
我知道PHP和其他语言确实有这个功能,但在Ruby中找不到一个很好的方法.
在这种情况下人们会怎么做?
我用super
来初始化父类,但我看不到任何从子类方法调用父类的方法.
我知道PHP和其他语言确实有这个功能,但在Ruby中找不到一个很好的方法.
在这种情况下人们会怎么做?
如果方法是相同的名称,也就是说,你覆盖了一个方法,你可以简单地使用super
.否则,您可以使用alias_method
或绑定.
class Parent
def method
end
end
class Child < Parent
alias_method :parent_method, :method
def method
super
end
def other_method
parent_method
#OR
Parent.instance_method(:method).bind(self).call
end
end