Section courante

A propos

Section administrative du site

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


Dernière mise à jour : Dimanche, le 23 novembre 2014