Jeśli jednak masz na myśli koncepcję dziedziczenia i wywoływania metod z klasy nadrzędnej, Ruby udostępnia słowo kluczowe `super`. Oto jak to działa:
Zrozumienie słowa „super”
* Dziedziczenie: W Ruby możesz tworzyć klasy, które dziedziczą z innych klas. Oznacza to, że klasa potomna automatycznie uzyskuje dostęp do metod i atrybutów klasy nadrzędnej.
* Metody zastępujące: Możesz zastąpić metody z klasy nadrzędnej w klasie podrzędnej. Oznacza to, że klasa potomna po wywołaniu użyje własnej implementacji metody.
* `super` słowo kluczowe: Jeśli chcesz wywołać metodę klasy nadrzędnej wewnątrz nadpisanej metody w klasie podrzędnej, użyj słowa kluczowego `super`.
Przykład
,,rubin
Pojazd klasy
def inicjuj (markę)
@marka =marka
koniec
zdecydowanie zacznij
umieszcza „Pojazd początkowy #{@brand}…”
koniec
koniec
klasa Samochód
super
stawia „Silnik uruchomiony. Gotowy do jazdy!”
koniec
koniec
my_car =Samochód.nowy("Toyota")
mój_samochód.start
```
Wyjaśnienie:
1. Klasę `Pojazd` definiujemy metodą `start`.
2. Tworzymy klasę `Car`, która dziedziczy po `Vehicle`.
3. Klasa `Car` zastępuje metodę `start`, ale wywołuje wewnątrz klasę `super`, aby wykonać metodę `start` z nadrzędnej klasy `Vehicle`.
4. Kiedy tworzymy obiekt `Car` i wywołujemy `start`, wykonywane są zarówno metody `start` `Vehicle`, jak i `start` `Car`.
Kluczowe punkty:
* `super` wywołuje metodę o tej samej nazwie w klasie nadrzędnej.
* Możesz przekazać argumenty do `super`, aby przekazać je do metody rodzica.
* Jeśli nie użyjesz `super`, implementacja metody w klasie podrzędnej całkowicie zastąpi wersję klasy nadrzędnej.
Jeśli masz więcej pytań na temat dziedziczenia lub „super” w Ruby, śmiało pytaj!