Arts >> Umenie a zábava >  >> Mágia >> Kúzelnícke triky

Ako používate super prút v rubíne?

V Ruby nemôžete priamo použiť "super prút". Je to termín z hier Pokémon, nie vlastnosť programovacieho jazyka Ruby.

Ak však hovoríte o koncepte dedenia a volaní metód z nadradenej triedy, Ruby poskytuje kľúčové slovo „super“. Funguje to takto:

Pochopenie „super“

* Dedičstvo: V Ruby môžete vytvárať triedy, ktoré dedia z iných tried. To znamená, že podriadená trieda automaticky získa prístup k metódam a atribútom rodičovskej triedy.

* Prepísanie metód: V podradenej triede môžete prepísať metódy z rodičovskej triedy. To znamená, že podriadená trieda pri volaní použije svoju vlastnú implementáciu metódy.

* `super` kľúčové slovo: Ak chcete volať metódu rodičovskej triedy v rámci prepísanej metódy v podradenej triede, použite kľúčové slovo `super`.

Príklad

```rubín

Vozidlo triedy

def inicializovať (značka)

@značka =značka

koniec

definitívny začiatok

vloží „Štartovacie vozidlo #{@brand}...“

koniec

koniec

triedy Auto definitívny začiatok

super

uvádza "Motor naštartovaný. Pripravený na jazdu!"

koniec

koniec

moje_auto =Car.new("Toyota")

my_car.start

```

Vysvetlenie:

1. Definujeme triedu `Vehicle` pomocou metódy `start`.

2. Vytvoríme triedu `Auto`, ktorá zdedí triedu `Vehicle`.

3. Trieda `Auto` prepisuje metódu `start`, ale vo vnútri volá `super`, aby sa spustila metóda `start` z nadradenej triedy `Vehicle`.

4. Keď vytvoríme objekt `Car` a zavoláme `start`, vykonajú sa metódy `start` `Vehicle` a `Car``s `start`.

Kľúčové body:

* `super` volá metódu s rovnakým názvom v nadradenej triede.

* Môžete zadať argumenty `super`, aby ste ich odovzdali rodičovskej metóde.

* Ak nepoužijete `super`, implementácia metódy podradenou triedou úplne prepíše verziu rodiča.

Ak máte ďalšie otázky týkajúce sa dedičstva alebo „super“ v Ruby, neváhajte sa opýtať!

Kúzelnícke triky

súvisiace kategórie