Međutim, ako mislite na koncept nasljeđivanja i pozivanja metoda iz nadređene klase, Ruby daje ključnu riječ `super`. Evo kako to funkcionira:
Razumijevanje `super`
* Nasljeđe: U Rubyju možete kreirati klase koje nasljeđuju druge klase. To znači da klasa dijete automatski dobiva pristup metodama i atributima klase roditelja.
* Metode nadjačavanja: Možete nadjačati metode iz nadređene klase u podređenoj klasi. To znači da će klasa dijete koristiti vlastitu implementaciju metode kada se pozove.
* `super` ključna riječ: Ako želite pozvati metodu nadređene klase unutar nadjačane metode u podređenoj klasi, koristite ključnu riječ `super`.
Primjer
```rubin
klasa Vozilo
def inicijalizirati (marka)
@brand =marka
kraj
def početak
stavlja "Pokretanje #{@brand} vozila..."
kraj
kraj
klasa Automobil
super
stavlja "Motor pokrenut. Spreman za vožnju!"
kraj
kraj
my_car =Car.new("Toyota")
moj_auto.start
```
Objašnjenje:
1. Definiramo klasu `Vozilo` metodom `start`.
2. Kreiramo klasu `Automobil` koja nasljeđuje klasu `Vozilo`.
3. Klasa `Car` nadjačava metodu `start`, ali poziva `super` iznutra da izvrši metodu `start` iz nadređene klase `Vehicle`.
4. Kada kreiramo objekt `Car` i pozovemo `start`, izvršavaju se metode `start` `Vozila` i `Automobila`.
Ključne točke:
* `super` poziva istoimenu metodu u nadređenoj klasi.
* Možete proslijediti argumente `super` da biste ih proslijedili nadređenoj metodi.
* Ako ne koristite `super`, implementacija metode podređene klase u potpunosti će nadjačati nadređenu verziju.
Ako imate još pitanja o nasljeđivanju ili `super` u Rubyju, slobodno pitajte!