Le langage Ruby n'est pas extraordinaire au niveau de la gestion des classes et il faut parfois des syntaxes assez particulière pour faire se que l'on souhaite. Pour définir une classe on utilise le mot réservé «class» en minuscule.
Classe avec fonctions ou procédures
Tout d'abord, pour définir une classe avec une ou plusieurs fonction(s) ou procédure(s) sans aucun héritage, on doit utiliser l'instruction «pass» et sa syntaxe est la suivante :
class nomdelaclasse def nomdeprocédure1(paramètres) instruction_exécuté1 instruction_exécuté2 instruction_exécuté3 ... end def nomdeprocédure2(paramètres) instruction_exécuté1 instruction_exécuté2 instruction_exécuté3 ... end ... end |
Ensuite, pour définir une classe avec une ou plusieurs fonction(s) ou procédure(s) avec un héritage, on doit utiliser la syntaxe suivante :
class nomdelaclasse < classeparente def nomdeprocédure1(paramètres) instruction_exécuté1 instruction_exécuté2 instruction_exécuté3 ... end def nomdeprocédure2(paramètres) instruction_exécuté1 instruction_exécuté2 instruction_exécuté3 ... end ... end |
Constructeur d'une classe
Comme tous les langages de programmation supportant un minimum de programmation orientée objet (POO), il est possible de créer une fonction permettant d'initialiser la classe (aussi appelé constructeur de classe) lors de la création de la classe objet. Le nom de la classe doit s'appeler «__init__» et il supporte les paramètres comme n'importe quel constructeur classique. Voici sa syntaxe :
class nomdelaclasse < classeparente1 def initialize(paramètres) instruction_exécuté1 instruction_exécuté2 instruction_exécuté3 ... end def nomdeprocédure1(paramètres) instruction_exécuté1 instruction_exécuté2 instruction_exécuté3 ... end ... end |