Arts >> Sztuka i rozrywka >  >> Magia >> Sztuczki magiczne

Jak używać super pręta w rubinu?

Nie możesz bezpośrednio używać „super pręta” w Ruby. To termin z gier Pokémon, a nie cecha języka programowania Ruby.

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 zdecydowanie zacznij

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!

Sztuczki magiczne

Powiązane kategorie