Sobes.tech
Junior

Qu'est-ce que les variables statiques?

sobes.tech IA

Réponse de l'IA

Les variables statiques appartiennent à la classe, pas à une instance spécifique. Elles existent en une seule instance pendant toute la durée d'exécution du programme et sont partagées par tous les objets de cette classe. Modifier une variable statique depuis un objet sera visible pour les autres objets.

Caractéristiques principales :

  • Appartenance : À la classe.
  • Nombre d'instances : Une par classe.
  • Durée de vie : Depuis le chargement de la classe jusqu'à la fin du programme.
  • Accès : Généralement par le nom de la classe ClassName.staticVariable, bien qu'il soit aussi possible d'y accéder via une instance (non recommandé).
  • Initialisation : Une seule fois lors du chargement de la classe.

Exemples d'utilisation :

  • Compteurs d'objets créés de la classe.
  • Constantes communes à toute la classe.
  • Ressources partagées gérées par la classe.

Exemple en Java :

class MyClass {
    static int counter = 0; // Variable statique

    public MyClass() {
        counter++; // Incrémente le compteur statique lors de la création d'un objet
    }

    public static void main(String[] args) {
        MyClass obj1 = new MyClass();
        MyClass obj2 = new MyClass();

        System.out.println(MyClass.counter); // Affiche : 2
    }
}

Exemple en Python :

class MyClass:
    counter = 0  # Variable statique

    def __init__(self):
        MyClass.counter += 1  # Incrémente le compteur statique

    def main():
        obj1 = MyClass()
        obj2 = MyClass()

        print(MyClass.counter) # Affiche : 2

    if __name__ == "__main__":
        main()