Variabile di istanza
# 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 chiamata targa.

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'istanza targa, 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).

