Tuttavia, se ti riferisci al concetto di ereditarietà e di chiamata di metodi da una classe genitore, Ruby fornisce la parola chiave "super". Ecco come funziona:
Capire "super"
* Eredità: In Ruby puoi creare classi che ereditano da altre classi. Ciò significa che la classe figlia ottiene automaticamente l'accesso ai metodi e agli attributi della classe genitore.
* Metodi di sostituzione: Puoi sovrascrivere i metodi della classe genitore nella classe figlia. Ciò significa che la classe figlia utilizzerà la propria implementazione del metodo quando chiamata.
* Parola chiave "super": Se vuoi chiamare il metodo della classe genitore all'interno del metodo sovrascritto nella classe figlia, usa la parola chiave "super".
Esempio
"rubino."
Veicolo di classe
def inizializza(marca)
@marca =marca
fine
sicuramente inizio
inserisce "Veicolo iniziale #{@brand}..."
fine
fine
classe Auto
eccellente
mette "Motore avviato. Pronto a guidare!"
fine
fine
mia_auto =Auto.nuova("Toyota")
mia_auto.inizio
```
Spiegazione:
1. Definiamo una classe "Vehicle" con un metodo "start".
2. Creiamo una classe "Car" che eredita da "Vehicle".
3. La classe "Car" sovrascrive il metodo "start", ma chiama "super" al suo interno per eseguire il metodo "start" dalla classe genitore "Vehicle".
4. Quando creiamo un oggetto "Car" e chiamiamo "start", vengono eseguiti entrambi i metodi "start" di "Vehicle" e "start" di "Car".
Punti chiave:
* `super` chiama il metodo con lo stesso nome nella classe genitore.
* Puoi passare argomenti a "super" per passarli al metodo genitore.
* Se non usi `super`, l'implementazione del metodo da parte della classe figlia sovrascriverà completamente la versione del genitore.
Se hai altre domande sull'ereditarietà o sul "super" in Ruby, non esitare a chiedere!