< Ruby
fin de la boite de navigation du chapitre

Ce chapitre vous présente de nouvelles variables : les variables d'instance, les variables de classe et les constantes de classe. Elles ne prennent leur sens que dans le cadre de la programmation orientée objet.

Variables d'instance

Définition

Les variables d'instance ne sont accessibles que depuis une classe. Elles contiennent des informations qui caractérisent l'instance d'un objet. Deux objets de la même classe peuvent donc avoir des mêmes variables d'instance dont la valeur diffère. Elles sont donc spécifiques à une instance d'une classe donnée.

Leur nom est préfixé du symbole @.


Exemple
class Ordinateur
  def initialize(prix)
    @prix = prix
  end
end

monOrdi = Ordinateur.new(799)
tonOrdi = Ordinateur.new(829)
Fin de l'exemple


@prix est une variable d'instance de la classe Ordinateur, elle vaut 799 pour l'instance monOrdi et 829 pour l'instance tonOrdi.

Variables de classe

Définition

Les variables de classe contiennent une information stockée dans la classe elle-même, et non dans les objets instanciés par cette classe ; en outre, cette information s'applique à toutes les instances créées par cette classe.

Le nom de ces variables est préfixé de @@.


Exemple
class Voiture
  @@nbRoues = 4
end
Fin de l'exemple


Dans notre exemple, @@nbRoues est une variable de classe ; les deux instances monAuto et tonAuto ont cette variable de classe (et sa valeur 4) en commun car ce sont des instances de la même classe Voiture.

Constantes de classe

Il vous est également possible de créer des constantes de classe, elles sont déclarées au sein d'une classe et ne peuvent pas être modifiées :

Exemple
class Voiture
  NB_ROUES = 4
end
Fin de l'exemple


NB_ROUES est une constante commune à toutes les instances de la classe Voiture.


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.