У Ruby ключове слово "super" використовується для виклику батьківського методу з підкласу. Коли ви оголошуєте підклас, він успадковує всі методи батьківського класу. В деяких випадках ви можете мати потребу замінити функціональність батьківського методу, але все ж бажаєте викликати його для збереження певної логіки. Тут на допомогу приходить ключове слово "super".
Ось приклад, який демонструє використання "super" у Ruby:
class Parent
def say_hello
puts "Hello from the Parent class!"
end
end
class Child < Parent
def say_hello
puts "Hello from the Child class!"
super # Викликаємо батьківський метод
end
end
child = Child.new
child.say_hello
У цьому прикладі є два класи: "Parent" (батьківський) та "Child" (підклас). Клас "Child" успадковує метод "say_hello" від класу "Parent". У методі "say_hello" класу "Child" ми спочатку виводимо рядок "Hello from the Child class!", а потім викликаємо "super", що викличе метод "say_hello" з батьківського класу.
Як результат, коли ми створюємо екземпляр класу "Child" і викликаємо метод "say_hello", ми отримуємо такий результат:
Hello from the Child class!
Hello from the Parent class!
Таким чином, використання "super" дозволяє нам додавати функціональність (розширювати функціональність) у методи підкласу, зберігаючи при цьому логіку батьківського класу.