Arts >> Umetnost in zabava >  >> Čarovnija >> Čarovniški triki

Kako uporabljate super palico v rubinu?

V Rubyju ne morete neposredno uporabiti »super palice«. To je izraz iz iger Pokémon, ne značilnost programskega jezika Ruby.

Če pa se sklicujete na koncept dedovanja in klicnih metod iz nadrejenega razreda, Ruby ponuja ključno besedo `super`. Takole deluje:

Razumevanje `super`

* Dedovanje: V Rubyju lahko ustvarite razrede, ki podedujejo druge razrede. To pomeni, da podrejeni razred samodejno dobi dostop do metod in atributov nadrejenega razreda.

* Preglasitvene metode: Metode iz nadrejenega razreda lahko preglasite v podrejenem razredu. To pomeni, da bo podrejeni razred ob klicu uporabil lastno izvedbo metode.

* Ključna beseda `super`: Če želite poklicati metodo nadrejenega razreda znotraj preglasene metode v podrejenem razredu, uporabite ključno besedo `super`.

Primer

```rubin

razred vozila

def inicializacija (znamka)

@brand =blagovna znamka

konec

def začetek

postavi "Začetno #{@brand} vozilo ..."

konec

konec

razred Avto def začetek

super

postavi "Motor zagnan. Pripravljen za vožnjo!"

konec

konec

my_car =Car.new("Toyota")

moj_avto.start

```

Razlaga:

1. Definiramo razred `Vozilo` z metodo `start`.

2. Ustvarimo razred `Car`, ki deduje razred `Vehicle`.

3. Razred `Car` preglasi metodo `start`, vendar znotraj pokliče `super`, da izvede metodo `start` iz nadrejenega razreda `Vehicle`.

4. Ko ustvarimo objekt `Car` in pokličemo `start`, se izvedeta metoda `start` `Vehicle`'s in `Car`'s `start` metoda.

Ključne točke:

* `super` pokliče istoimensko metodo v nadrejenem razredu.

* Argumente lahko posredujete `super`, da jih posredujete nadrejeni metodi.

* Če ne uporabljate `super`, bo implementacija metode podrejenega razreda v celoti preglasila nadrejeno različico.

Če imate še kakšna vprašanja o dedovanju ali `super` v Rubyju, vprašajte!

Čarovniški triki

Povezane kategorije