Če pa se sklicujete na koncept dedovanja in klicnih metod iz nadrejenega razreda, Ruby ponuja ključno besedo `super`. Takole deluje:
Razumevanje `super`
* Dedovanje: V Rubyju lahko ustvarite razrede, ki podedujejo druge razrede. To pomeni, da podrejeni razred samodejno dobi dostop do metod in atributov nadrejenega razreda.
* Preglasitvene metode: Metode iz nadrejenega razreda lahko preglasite v podrejenem razredu. To pomeni, da bo podrejeni razred ob klicu uporabil lastno izvedbo metode.
* Ključna beseda `super`: Če želite poklicati metodo nadrejenega razreda znotraj preglasene metode v podrejenem razredu, uporabite ključno besedo `super`.
Primer
```rubin
razred vozila
def inicializacija (znamka)
@brand =blagovna znamka
konec
def začetek
postavi "Začetno #{@brand} vozilo ..."
konec
konec
razred Avto
super
postavi "Motor zagnan. Pripravljen za vožnjo!"
konec
konec
my_car =Car.new("Toyota")
moj_avto.start
```
Razlaga:
1. Definiramo razred `Vozilo` z metodo `start`.
2. Ustvarimo razred `Car`, ki deduje razred `Vehicle`.
3. Razred `Car` preglasi metodo `start`, vendar znotraj pokliče `super`, da izvede metodo `start` iz nadrejenega razreda `Vehicle`.
4. Ko ustvarimo objekt `Car` in pokličemo `start`, se izvedeta metoda `start` `Vehicle`'s in `Car`'s `start` metoda.
Ključne točke:
* `super` pokliče istoimensko metodo v nadrejenem razredu.
* Argumente lahko posredujete `super`, da jih posredujete nadrejeni metodi.
* Če ne uporabljate `super`, bo implementacija metode podrejenega razreda v celoti preglasila nadrejeno različico.
Če imate še kakšna vprašanja o dedovanju ali `super` v Rubyju, vprašajte!