Visibilité d’une variable de classe

Variable de classe
Variable de classe

Variable de classe :

La visibilité d’une propriété (variable), d’une méthode (fonction) peut être définie en préfixant sa déclaration avec un mot-clé : publicprotected, ou private. Les éléments déclarés comme publics peuvent être utilisés par n’importe quelle partie du programme. L’accès aux éléments protégés est limité à la classe elle-même, ainsi qu’aux classes qui en héritent. L’accès aux éléments privés est uniquement réservé à la classe qui les a défini.

Un membre d’une classe peut également être :

  • publicvisible par tout le monde.
  • private : visible par la classe uniquement,
  • protectedvisible par tout le package, et par les sous-classes dans le cadre de l’héritage*,

* dans le cadre de l’héritage : une sous-classe peut accéder à un membre protected qu’elle a hérité d’une classe mère, mais elle ne peut pas accéder à un membre protected hérité par une autre sous-classe.

Attention à ne pas confondre le mot-clé static et les modificateurs d’accès.

Un membre d’une classe peut être :

  • staticlié à la classe,
  • pas de mot clé : lié à l’instance.

Les deux notions peuvent être combinées comme on veut :

  • int a : lié à l’instance, visible par tout le package
  • static int b : lié à la classe, visible par tout le package
  • private int c : lié à l’instance, visible par la classe uniquement
  • private static int d : lié à la classe, visible par la classe uniquement
  • protected int e : lié à l’instance, visible par tout le package et par les sous-classes
  • protected static int f : lié à la classe, visible par tout le package et par les sous-classes
  • public int a : lié à l’instance, visible par tout le monde
  • public static int g : lié à la classe, visible par tout le monde

En PHP, une variable non définie par un mot clé est liée à la fonction où elle est définie. Une variable extérieure à une fonction peut être utilisée dans une fonction seulement si elle est passée en argument ou si elle est appelée à l’intérieur de la fonction par le mot clé global.

Et hop, une petite explication sur la portée des variables, en php ou autre.

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *