Arts >> Művészet és szórakozás >  >> Mágia >> Bűvésztrükkök

Hogyan használod a szuperbotot rubinban?

A Rubyban nem használhatod közvetlenül a "szuper rudat". Ez a kifejezés a Pokémon játékokból származik, nem pedig a Ruby programozási nyelv jellemzője.

Ha azonban az öröklődés fogalmára és a szülőosztályból származó metódusok hívására hivatkozunk, a Ruby a `super` kulcsszót biztosítja. Így működik:

A "szuper" értelmezése

* Öröklés: A Rubyban olyan osztályokat hozhat létre, amelyek más osztályoktól öröklődnek. Ez azt jelenti, hogy a gyermekosztály automatikusan hozzáfér a szülőosztály metódusaihoz és attribútumaihoz.

* Felülbíráló módszerek: A szülőosztály metódusait felülbírálhatja az utódosztályban. Ez azt jelenti, hogy a gyermekosztály a metódus saját implementációját fogja használni, amikor hívják.

* `szuper` Kulcsszó: Ha a szülőosztály metódusát szeretné meghívni a felülírt metóduson belül az utódosztályban, használja a `super` kulcsszót.

Példa

``` rubin

osztályú Jármű

def inicializálás (márka)

@brand =márka

vége

def start

„Starting #{@brand} jármű...”

vége

vége

osztályú Autó def start

szuper

"A motor beindult. Vezetésre kész!"

vége

vége

my_car =Autó.új("Toyota")

my_car.start

```

Magyarázat:

1. Meghatározunk egy `Vehicle` osztályt egy `start` metódussal.

2. Létrehozunk egy "Gépkocsi" osztályt, amely a "Jármű"-ből örökli.

3. Az „Car” osztály felülírja a „start” metódust, de belül meghívja a „super” metódust, hogy végrehajtsa a „start” metódust a szülő „Jármű” osztályból.

4. Amikor létrehozunk egy `Car` objektumot, és meghívjuk a `start`-ot, a `Jármű `start` és `Car` `start` metódusai is végrehajtásra kerülnek.

Kulcspontok:

A * `super` meghívja a szülőosztály azonos nevű metódusát.

* Az argumentumokat átadhatja a `super'-nek, hogy átadja azokat a szülő metódusának.

* Ha nem használod a `super'-et, a metódus gyermekosztálybeli implementációja teljesen felülírja a szülő verzióját.

Ha további kérdése van az örökléssel vagy a Ruby "szuperrel" kapcsolatban, kérdezzen bátran!

Bűvésztrükkök

Kapcsolódó kategóriák