Forekomstvariabel vs lokal variabel
En forekomstvariabel er en type variabel, der er til stede i objektorienteret programmering. Det er en variabel, der er defineret i en klasse, og hvert objekt i den klasse har en separat kopi af den variabel. På den anden side er brugen af lokale variabler ikke begrænset til objektorienterede programmeringssprog. Det er en variabel, der kun kan vurderes inden for en bestemt blok af kode (f.eks. Funktion, loop-blok osv.), Hvori den er defineret. På grund af denne grund siges lokale variabler at have et lokalt omfang.
Hvad er en forekomstvariabel?
Forekomstvariabler bruges i objektorienteret programmering til at gemme status for hvert objekt i en klasse. De er også kendt som medlemsvariabler eller feltvariabler. Forekomstvariabler deklareres uden at bruge det statiske nøgleord i Java. De værdier, der er gemt i forekomstvariabler, er unikke for hvert objekt (hvert objekt har en separat kopi), og de værdier, der er gemt i dem, repræsenterer status for dette objekt. Plads til en forekomstvariabel tildeles i dyngen, når det objekt er allokeret i dyngen. Derfor opbevares forekomstvariabler i hukommelsen, så længe objektet er live. For eksempel er farven på en bil uafhængig af farven på en anden bil. Så farven på et bilobjekt kan gemmes i en forekomstvariabel. I praksis deklareres forekomstvariabler inden for klasser og eksterne metoder. Normalt erklæres forekomstvariabler som private, så de kun kunne få adgang til inden for den klasse, det er deklareret.
Hvad er en lokal variabel?
Lokale variabler er variabler med et lokalt omfang, og de deklareres inden for en bestemt kodeblok. Lokale variabler kan ses som variabler, der bruges af en metode til at gemme dens midlertidige tilstand. Omfanget af en lokal variabel bestemmes ved hjælp af den placering, som variablen er deklareret, og specielle nøgleord bruges ikke til dette formål. Adgang til en lokal variabel er typisk begrænset inden for kodeblokken, som den er erklæret (dvs. mellem åbnings- og lukningspladen for den kodeblok). Lokale variabler gemmes typisk i opkaldsstakken. Dette vil give mulighed for rekursive funktionsopkald til at opretholde deres egne kopier af de lokale variabler, der skal gemmes i separate hukommelsesadresser. Når metoden er færdig med udførelsen, poppes oplysninger om denne metode ud fra opkaldsstakken, hvilket også ødelægger de lokale variabler, der blev gemt.
Hvad er forskellen mellem forekomstvariabel og lokal variabel?
Forekomstvariabler deklareres inden for klasser uden for metoder, og de gemmer status for et objekt, mens lokale variabler er deklareret inden for kodeblokke, og de bruges til at gemme en metodes tilstand. En forekomstvariabel er live, så længe objektet, der indeholder denne variabel, er live, mens en lokal variabel er live under udførelsen af denne metode / kodeblok. Der kan fås adgang til en forekomstvariabel (der erklæres for offentlig) inden for klassen, mens en lokal variabel kun kan fås adgang til inden for kodeblokken, den erklæres. Brug af forekomstvariabler er kun begrænset til objektorienteret programmering, mens lokale variabler ikke har en sådan begrænsning.