在大多数派生类中调用方法的方法



如何在ruby对象的派生类中调用方法?

例如,在Rails中,可以有一个继承自ApplicationControllerDevise::RegistrationsController的控制器。所以,假设我希望用户重写他们控制器中的某个方法,并从基类调用该重写:执行此操作的最佳语法是什么?

无需执行任何操作,方法查找总是从派生程度最高的类开始。毕竟,这就是超载的全部意义。

class A
  def foo
    bar
  end
  def bar
    :A
  end
end
class B < A
  def bar
    :B
  end
end
B.new.foo
# => :B

您是否试图使用UserController中的方法来代替Devise Registrations Controller?让我知道您正试图通过使用代码示例来实现什么。:)

我想问的是,在其他语言上是否有类似虚拟继承的东西?

不,鲁比没有这个。

最新更新