Arts >> Umjetnost i zabava >  >> Magija >> Mađioničarski trikovi

Kako se koristi super štap u rubinu?

Ne možete izravno koristiti "super štap" u Rubyju. To je pojam iz Pokémon igara, a ne značajka programskog jezika Ruby.

Međutim, ako mislite na koncept nasljeđivanja i pozivanja metoda iz nadređene klase, Ruby daje ključnu riječ `super`. Evo kako to funkcionira:

Razumijevanje `super`

* Nasljeđe: U Rubyju možete kreirati klase koje nasljeđuju druge klase. To znači da klasa dijete automatski dobiva pristup metodama i atributima klase roditelja.

* Metode nadjačavanja: Možete nadjačati metode iz nadređene klase u podređenoj klasi. To znači da će klasa dijete koristiti vlastitu implementaciju metode kada se pozove.

* `super` ključna riječ: Ako želite pozvati metodu nadređene klase unutar nadjačane metode u podređenoj klasi, koristite ključnu riječ `super`.

Primjer

```rubin

klasa Vozilo

def inicijalizirati (marka)

@brand =marka

kraj

def početak

stavlja "Pokretanje #{@brand} vozila..."

kraj

kraj

klasa Automobil def početak

super

stavlja "Motor pokrenut. Spreman za vožnju!"

kraj

kraj

my_car =Car.new("Toyota")

moj_auto.start

```

Objašnjenje:

1. Definiramo klasu `Vozilo` metodom `start`.

2. Kreiramo klasu `Automobil` koja nasljeđuje klasu `Vozilo`.

3. Klasa `Car` nadjačava metodu `start`, ali poziva `super` iznutra da izvrši metodu `start` iz nadređene klase `Vehicle`.

4. Kada kreiramo objekt `Car` i pozovemo `start`, izvršavaju se metode `start` `Vozila` i `Automobila`.

Ključne točke:

* `super` poziva istoimenu metodu u nadređenoj klasi.

* Možete proslijediti argumente `super` da biste ih proslijedili nadređenoj metodi.

* Ako ne koristite `super`, implementacija metode podređene klase u potpunosti će nadjačati nadređenu verziju.

Ako imate još pitanja o nasljeđivanju ili `super` u Rubyju, slobodno pitajte!

Mađioničarski trikovi

Povezani Kategorije