Arts >> Arts et divertissement >  >> Magie >> Tours de magie

Comment utiliser la super tige en rubis ?

Vous ne pouvez pas utiliser directement "super rod" dans Ruby. C'est un terme issu des jeux Pokémon, et non une fonctionnalité du langage de programmation Ruby.

Cependant, si vous faites référence au concept d'héritage et d'appel de méthodes à partir d'une classe parent, Ruby fournit le mot-clé « super ». Voici comment cela fonctionne :

Comprendre « super »

* Héritage : Dans Ruby, vous pouvez créer des classes qui héritent d'autres classes. Cela signifie que la classe enfant a automatiquement accès aux méthodes et attributs de la classe parent.

* Méthodes de remplacement : Vous pouvez remplacer les méthodes de la classe parent dans la classe enfant. Cela signifie que la classe enfant utilisera sa propre implémentation de la méthode lorsqu'elle sera appelée.

* Mot clé `super` : Si vous souhaitez appeler la méthode de la classe parent à l'intérieur de la méthode remplacée dans la classe enfant, vous utilisez le mot-clé `super`.

Exemple

```rubis

Véhicule de classe

def initialiser (marque)

@marque =marque

fin

définitivement commencer

met "Véhicule #{@brand} de départ..."

fin

fin

classe Voiture définitivement commencer

super

met "Moteur démarré. Prêt à conduire!"

fin

fin

ma_voiture =Voiture.new("Toyota")

ma_voiture.start

```

Explication :

1. Nous définissons une classe `Vehicle` avec une méthode `start`.

2. Nous créons une classe `Car` qui hérite de `Vehicle`.

3. La classe `Car` remplace la méthode `start`, mais appelle `super` à l'intérieur pour exécuter la méthode `start` à partir de la classe parent `Vehicle`.

4. Lorsque nous créons un objet `Car` et appelons `start`, les méthodes `start` de `Vehicle` et `Car` sont exécutées.

Points clés :

* `super` appelle la méthode du même nom dans la classe parent.

* Vous pouvez passer des arguments à `super` pour les transmettre à la méthode parent.

* Si vous n'utilisez pas `super`, l'implémentation de la méthode par la classe enfant remplacera complètement la version du parent.

Si vous avez d'autres questions sur l'héritage ou le « super » dans Ruby, n'hésitez pas à les poser !

Tours de magie

Catégories reliées