Skip to main content

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 data, som objektet bruger til beregning.

For eksempel, hvis der findes to objekter, A og B, hvor objekt A har en forekomstvariabel kaldet bla og objekt B ogsåHar 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å den variable bla, der er forbundet med objekt A, er a.blah, mens det fulde navn på den variable 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, som kan have sin egen unikke værdi.

forekomstvariabler er ofte forvirrede medStatiske 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ængigt af synlighedsegenskaberne, der er tildelt dem, kan forekomstvariabler kun være synlige i et bestemt objekt, til et objekt og dets underklasser eller til objektethvor det ligger såvel som alle 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 variabler på offentlige forekomster 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.