Tengo dos clases A
y B
. La clase B
anula el método foo
de la clase A
. La clase B
tiene un método bar
en el que deseo llamar al método foo
de la superclase. ¿Cuál es la sintaxis para tal llamada?Cómo llamo a un método de clase superior
class A
def foo
"hello"
end
end
class B < A
def foo
super + " world"
end
def bar
# how to call the `foo` method of the super class?
# something similar to
super.foo
end
end
Para los métodos de clase, puedo llamar a los métodos en la cadena de herencia mediante el prefijo explícito del nombre de clase. Me pregunto si hay un modismo similar por ejemplo, métodos.
class P
def self.x
"x"
end
end
class Q < P
def self.x
super + " x"
end
def self.y
P.x
end
end
Editar Mi caso de uso es general. Para un caso específico, sé que puedo usar la técnica alias
. Esta es una característica común en Java o C++, por lo que tengo curiosidad por saber si es posible hacer esto sin agregar código adicional.
duplicado: http: //stackoverflow.com/questions/1251178/calling-another-method-in-super-cla ss-in-ruby –