Hvad er en instansvariabel?
En instansvariabel er et stykke data i objektorienteret programmering, der har sin egen unikke værdi for hvert objekt, hvor det ligger. Forekomstvariabler kan også kaldes forekomstmedlemmer, ikke-statiske felter og datamedlemmer. De er en vigtig del af de fleste objekter, der har specifikke stykker data, som objektet bruger til beregning.
For eksempel, hvis der findes to objekter, A og B, hvor objekt A har en instansvariabel kaldet "bla", og objekt B har også en instansvariabel kaldet "bla", "de to" bla "-variabler er forskellige enheder. Hver variabel er forbundet med det objekt, der indkapsler det. Det fulde navn på variablen "bla", der er forbundet med objekt A, er "A.blah", mens det fulde navn på variablen "bla", der er forbundet med objekt B, er "B.blah." Hver, hvis disse variabler kan have sin egen værdi. Hvis objekter A og B er af samme type, og et andet objekt af den type, C, oprettes, og objekt C vil også have en forekomstvariabel "bla"S egen unikke værdi.
forekomstvariabler forveksles ofte med statiske variabler, men de to er markant forskellige. I modsætning til forekomstvariabler, hvoraf ethvert objekt af en bestemt type har sine egne, statiske variabler har kun en værdi, og denne værdi er den samme for hvert objekt af den passende type. Statiske variabler kaldes ofte klassevariabler, som ikke er de samme som forekomstvariabler.
Afhængig af de synlighedsegenskaber, der er tildelt dem, kan forekomstvariabler kun være synlige inde i et bestemt objekt, til et objekt og dets underklasser eller til det objekt, hvor det ligger såvel som andre objekter. Den endelige type synlighed, kaldet offentlig synlighed, betragtes ofte som dårlig praksis for eksempel variabler, fordi det er let at overtræde indkapslingsprincipper i objektorienteret programmering. På trods af dette tabu er der tidspunkter, hvor offentligt instaNCE -variabler er nyttige. For eksempel har mange standardklasser i Java offentlige forekomstvariabler, som til tider giver mulighed for let ændring af egenskaber.
Synligheden af en forekomstvariabel kommer også i spil med arv. Hvis en klasse arver fra en anden, giver dette ikke straks begge klasser adgang til hinandens forekomstvariabler. Private instansvariabler i superklassen og underklassen forbliver kun begrænset til disse klasser, så en privat variabel i underklassen kan ikke ses af superklassen, og vice versa. De eneste forekomstvariabler, som både superklassen og underklassen kan se, er beskyttede variabler i superklassen.