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 |