Ho due classi A
e B
. La classe B
ha la priorità sul metodo foo
della classe A
. La classe B
ha un metodo bar
in cui voglio chiamare il metodo foo
della super classe. Qual è la sintassi per tale chiamata?Come si chiama un metodo di super classe
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
Per i metodi di classe, è possibile richiamare i metodi sulla catena di ereditarietà precedendo esplicitamente il nome della classe. Mi chiedo se esiste un linguaggio simile per i metodi di esempio.
class P
def self.x
"x"
end
end
class Q < P
def self.x
super + " x"
end
def self.y
P.x
end
end
Modifica mio caso d'uso è generale. Per un caso specifico so che posso usare la tecnica alias
. Questa è una caratteristica comune in Java o C++, quindi sono curioso di sapere se è possibile farlo senza aggiungere altro codice.
Duplicate: http: //stackoverflow.com/questions/1251178/calling-another-method-in-super-cla ss-in-ruby –