Sobes.tech
Junior

Mi azok a statikus változók?

sobes.tech MI

Válasz az MI-től

Statikus változók tartoznak az osztályhoz, nem egy konkrét példányhoz. Egy példányban léteznek az egész program futása során, és minden azonos osztályú objektum között megosztottak. Egy statikus változó értékének módosítása egy objektum által látható lesz a többi objektum számára.

Fő jellemzők:

  • Hozzátartozás: Az osztályhoz.
  • Példányok száma: Egy osztályon belül egy.
  • Élettartam: Az osztály betöltésétől a program végéig.
  • Hozzáférés: Általában az osztály neve alapján ClassName.staticVariable, bár az példányon keresztüli hozzáférés is lehetséges (nem ajánlott).
  • Inicializálás: Egyszer az osztály betöltésekor.

Használati példák:

  • Az osztály által létrehozott objektumok számlálója.
  • Az egész osztályra vonatkozó állandók.
  • Az osztály által kezelt közös erőforrások.

Java példa:

class MyClass {
    static int counter = 0; // Statikus változó

    public MyClass() {
        counter++; // Növeli a statikus számlálót az objektum létrehozásakor
    }

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

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

Python példa:

class MyClass:
    counter = 0  # Statikus változó

    def __init__(self):
        MyClass.counter += 1  # Növeli a statikus számlálót

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

        print(MyClass.counter) # Kimenet: 2

    if __name__ == "__main__":
        main()