Als u echter verwijst naar het concept van overerving en het aanroepen van methoden van een bovenliggende klasse, geeft Ruby het sleutelwoord `super`. Hier is hoe het werkt:
`Super` begrijpen
* Erfenis: In Ruby kun je klassen maken die overerven van andere klassen. Dit betekent dat de onderliggende klasse automatisch toegang krijgt tot de methoden en attributen van de bovenliggende klasse.
* Overschrijvende methoden: U kunt methoden uit de bovenliggende klasse overschrijven in de onderliggende klasse. Dit betekent dat de onderliggende klasse zijn eigen implementatie van de methode zal gebruiken wanneer deze wordt aangeroepen.
* `super` trefwoord: Als je de methode van de bovenliggende klasse binnen de overschreven methode in de onderliggende klasse wilt aanroepen, gebruik je het trefwoord `super`.
Voorbeeld
```robijn
klasse Voertuig
def initialiseren(merk)
@merk =merk
einde
zeker beginnen
plaatst "Startend #{@brand} voertuig..."
einde
einde
klasse Auto
super
zet "Motor gestart. Klaar om te rijden!"
einde
einde
mijn_car =Auto.new("Toyota")
mijn_auto.start
```
Uitleg:
1. We definiëren een `Vehicle`-klasse met een `start`-methode.
2. We creëren een klasse `Car` die overerft van `Vehicle`.
3. De klasse `Car` overschrijft de `start`-methode, maar roept `super` inside aan om de `start`-methode uit de bovenliggende `Vehicle`-klasse uit te voeren.
4. Wanneer we een 'Car'-object aanmaken en 'start' aanroepen, worden zowel de 'start'-methode van 'Voertuig' als de 'start'-methode van 'Car' uitgevoerd.
Belangrijkste punten:
* `super` roept de gelijknamige methode aan in de bovenliggende klasse.
* Je kunt argumenten doorgeven aan `super` om ze door te geven aan de methode van de ouder.
* Als u `super` niet gebruikt, zal de implementatie van de methode door de onderliggende klasse de versie van de ouder volledig overschrijven.
Als je nog vragen hebt over vererving of `super` in Ruby, stel ze gerust!