Variabile di istanza
Nei linguaggi di programmazione orientati agli oggetti, una variabile d'istanza è una variabile associata a una classe di oggetti e che rappresenta un elemento dell'informazione contenuta nell'oggetto stesso. Le variabili d'istanza possono essere usate, per esempio, per rappresentare gli attributi concettuali del tipo di oggetti descritto dalla classe (per questo motivo, le variabili d'istanza vengono talvolta chiamate impropriamente attributi):
- Esempio: Una classe
Automobile
potrebbe avere una variabile d'istanza chiamatatarga
.
Il nome "variabile d'istanza" enfatizza il fatto che la variabile è da considerarsi istanziata (replicata) in ciascuno degli oggetti della classe.
- Esempio: Se la classe
Automobile
contiene una variabile d'istanzatarga
, ogni oggetto di classe automobile avrà una propria targa, distinta da quella delle altre automobili.
Il tempo di vita di una istanza di variabile d'istanza coincide in genere con quello dell'oggetto che la contiene. La visibilità delle variabili d'istanza coincide in genere con la classe in cui sono definite, secondo il principio dell'information hiding.
Nei linguaggi a oggetti, le variabili d'istanza si distinguono da altri generi di variabili, come le variabili statiche (o "di classe") e le variabili automatiche definite all'interno dei metodi.
L'analogia più stretta con i concetti della programmazione procedurale (tradizionale) è con i campi di un tipo di dato strutturato (per esempio, una struct
dei linguaggi derivati dal C).