Portée des méthodes en Ruby
Hello, dans ce tutoriel nous allons parler de la portée des méthodes dans le célèbre langage de programmation Ruby.
Comme dans bon nombre de langages programmation, on parle de fonctions ou souvent de méthodes, il faut savoir que les deux termes veulent dire la même chose, sauf que dans certains langages comme le Ruby on préfère le terme méthode .
Portée ou Visibilité ?
Il faut savoir que les deux mots font allusion à la même chose, c’est à dire la portée d’une méthode, est le champ d’accès, le contexte de disponibilité de la méthode.
C’est quoi une méthode ?
Une méthode étant un ensemble de code ou instructions qui peuvent recevoir ou non des paramètres en entrée et retourne une valeur un fois exécuté. c’est une manière pour factoriser votre code.
Dans le langage de programmation Ruby en générale on peut écrire des méthodes soit dans les modules ou les classes.
Vu que dans une module ou dans une class, on peut y avoir plusieurs méthodes qui peuvent être appelé en interne ou depuis l’extérieur, cette notion de visibilité à été ajouter.
Les différentes types de portée de méthodes en Ruby
Il existe 3 types de portée pour les méthodes en Ruby : Public, Private et Protected
Public
Par défaut tout est publique en Ruby, quand vous définissez une méthode sans rien indiqué, cela veut dire que cette méthode est publique peut appelé sur objet (dans le cas d’une class) depuis l’extérieur ou être appelé en interne par d’autres méthodes, en un mot accessible par tout.
Donc quand vous définissez une méthode sans rien préciser à Ruby, il ajoute de façons dynamique la portée public à cette méthode. Alors que dans certains langages de programmation il faut préciser la porté des méthodes depuis leurs déclarations.
Exemple :
class Food def orange "Vitamin C" end end
Vous pouvez appeler la méthode orange sur une instance de la class Food de cette manière
object.orange
Private
Comme son nom l’indique, ce mot clé permet de rendre une méthode privée, c’est à une dans le contexte d’une class, une méthode défini privée est accessible seulement en interne par les autres méthodes, ça veut dire qu’on pourra pas appeler cette méthode sur un objet.
C’est aussi pareil dans le contexte d’une module , les méthodes déclarés private sont seulement accessible à l’intérieur de la module.
Exemple :
class Food def orange "Vitamin C" color end private def color "Red" end end
Protected
Comme private, protected permet de restreindre la portée de la méthode à l’intérieur de la class, c’est seulement leur manière d’appel qui diffère, c’est à dire vous pouvez simplement l’appeler sur un objet.
Exemple :
class Food def orange(object) "Vitamin C" object.color end protected def color "Red" end end
Et voilà, nous sommes arrivée à la fin de cd tutoriel sur la portée des méthodes en ruby. Merci et n’hésitez pas à le partager.
LIRE AUSSI: Comment programmer des tâches Cron en Ruby On Rails ?
Amos DEMBELE
2 Comments