Instansvariabel vs lokal variabel
En instansvariabel er en type variabel som er tilstede i objektorientert programmering. Det er en variabel som er definert i en klasse, og hvert objekt i den klassen har en separat kopi av den variabelen. På den annen side er bruken av lokale variabler ikke begrenset til objektorienterte programmeringsspråk. Det er en variabel som bare kan vurderes innenfor en bestemt kodeblokk (f.eks. Funksjon, sløyfeblokk osv.) Der den er definert. Av denne grunn sies det at lokale variabler har et lokalt omfang.
Hva er en instansvariabel?
Forekomstvariabler brukes i objektorientert programmering for å lagre tilstanden til hvert objekt i en klasse. De er også kjent som medlemsvariabler eller feltvariabler. Forekomstvariabler erklæres uten å bruke det statiske nøkkelordet i Java. Verdiene som er lagret i eksempelvariabler er unike for hvert objekt (hvert objekt har en separat kopi), og verdiene som er lagret i dem representerer tilstanden til det objektet. Plass for en forekomstvariabel tildeles i bunken når det objektet tildeles i bunken. Derfor holdes forekomstvariabler i minnet så lenge objektet er live. For eksempel er fargen på en bil uavhengig av fargen på en annen bil. Så fargen på et bilobjekt kan lagres i en forekomstvariabel. I praksis blir forekomstvariabler erklært i klasser og utenfor metoder. Som oftest,forekomstvariabler blir erklært som private, slik at de bare kan nås innenfor klassen det er erklært.
Hva er en lokal variabel?
Lokale variabler er variabler som har et lokalt omfang, og deklareres innenfor en spesifikk kodeblokk. Lokale variabler kan sees på som variabler som brukes av en metode for å lagre den midlertidige tilstanden. Omfanget av en lokal variabel bestemmes ved hjelp av plasseringen der variabelen blir deklarert, og spesielle nøkkelord brukes ikke til dette formålet. Vanligvis er tilgangen til en lokal variabel begrenset innenfor kodeblokken som den blir erklært (dvs. mellom åpnings- og lukkebraketten til den kodeblokken). Lokale variabler lagres vanligvis i samtalestakken. Dette vil tillate rekursive funksjonsanrop for å opprettholde sine egne kopier av de lokale variablene som skal lagres i separate minneadresserom. Når metoden er fullført, poppes informasjon om metoden ut fra samtalestakken, og ødelegger også de lokale variablene som ble lagret.
Hva er forskjellen mellom Instance Variable og Local Variable?
Forekomstvariabler deklareres innenfor klasser utenfor metoder, og de lagrer tilstanden til et objekt, mens lokale variabler blir deklarert i kodeblokker, og de brukes til å lagre tilstanden til en metode. En instansvariabel er live så lenge objektet som inneholder den variabelen er live, mens en lokal variabel er live under utførelsen av den metoden / kodeblokken. En forekomstvariabel (som er erklært offentlig) er tilgjengelig i klassen, mens en lokal variabel bare er tilgjengelig i kodeblokken som den blir erklært. Bruk av instansvariabler er bare begrenset til objektorientert programmering, mens lokale variabler ikke har en slik begrensning.