Arts >> Изкуство и развлечения >  >> Магия >> Магически трикове

Как се използва супер прът в рубин?

Не можете директно да използвате "супер прът" в Ruby. Това е термин от игрите Pokémon, а не характеристика на езика за програмиране Ruby.

Въпреки това, ако имате предвид концепцията за наследяване и извикване на методи от родителски клас, Ruby предоставя ключовата дума `super`. Ето как работи:

Разбиране на „супер“

* Наследяване: В Ruby можете да създавате класове, които наследяват други класове. Това означава, че дъщерният клас автоматично получава достъп до методите и атрибутите на родителския клас.

* Приоритетни методи: Можете да замените методите от родителския клас в дъщерния клас. Това означава, че дъщерният клас ще използва собствената си реализация на метода, когато бъде извикан.

* `super` Ключова дума: Ако искате да извикате метода на родителския клас вътре в заменения метод в дъщерния клас, използвате ключовата дума `super`.

Пример

``` рубин

клас Превозно средство

def инициализиране (марка)

@brand =марка

край

def начало

поставя „Стартиране на #{@brand} превозно средство...“

край

край

клас Автомобил <Превозно средство

def начало

супер

поставя "Двигателят стартира. Готов за шофиране!"

край

край

my_car =Car.new("Toyota")

my_car.start

```

Обяснение:

1. Дефинираме клас `Vehicle` с метод `start`.

2. Създаваме клас `Car`, който наследява от `Vehicle`.

3. Класът `Car` замества метода `start`, но извиква `super` вътре, за да изпълни метода `start` от родителския клас `Vehicle`.

4. Когато създадем обект `Car` и извикаме `start`, се изпълняват както методите `start` на `Vehicle`, така и `start` на `Car`.

Ключови точки:

* `super` извиква метода със същото име в родителския клас.

* Можете да подадете аргументи към `super`, за да ги предадете към метода на родителя.

* Ако не използвате `super`, изпълнението на метода от дъщерния клас напълно ще замени версията на родителя.

Ако имате още въпроси относно наследяването или „супер“ в Ruby, не се колебайте да попитате!

Магически трикове

Съответните категории