Sobes.tech
Junior

Cosa sono le variabili di istanza?

sobes.tech AI

Risposta dell'AI

Le variabili di istanza sono variabili appartenenti a un'istanza specifica (oggetto) di una classe. A ogni oggetto viene creata una copia di queste variabili.

  • Sono definite all'interno della classe, ma fuori dai metodi.
  • Sono accessibili da qualsiasi metodo di quella stessa classe.
  • Il loro valore è unico per ogni istanza dell'oggetto.
  • Vengono inizializzate al momento della creazione dell'istanza della classe (ad esempio, nel costruttore).

Esempio in Java:

public class Dog {
    String name; // variabile di istanza

    public Dog(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println("Il mio nome è " + this.name);
    }
}

// Creazione di istanze
Dog dog1 = new Dog("Buddy");
Dog dog2 = new Dog("Lucy");

// Ogni istanza ha il suo 'name'
dog1.printName(); // Output: Il mio nome è Buddy
dog2.printName(); // Output: Il mio nome è Lucy

Tabella comparativa:

Variabile Appartenenza Ambito di visibilità Ciclo di vita Inizializzazione
Di istanza Per ogni istanza dell'oggetto Dentro l'istanza Finché l'istanza esiste Alla creazione dell'istanza (costruttore)
Statica (di classe) Per tutta la classe (una per tutte) In tutta la classe (spesso public) Fino alla fine dell'esecuzione del programma Al caricamento della classe
Locale Per un metodo o blocco di codice Dentro il metodo/blocco dove è dichiarata Solo durante l'esecuzione del metodo/blocco Deve essere inizializzata prima dell'uso