Instance varijabla u odnosu na lokalnu varijablu
Varijabla instance je vrsta varijable koja je prisutna u objektno orijentiranom programiranju. To je varijabla koja je definirana u klasi, a svaki objekt te klase sadrži zasebnu kopiju te varijable. S druge strane, upotreba lokalnih varijabli nije ograničena na objektno orijentirane programske jezike. To je varijabla koja se može procijeniti samo unutar određenog bloka koda (npr. Funkcija, blok petlje, itd.) U kojem je definirana. Iz tog razloga se kaže da lokalne varijable imaju lokalni opseg.
Što je varijabla instance?
Varijable instance koriste se u objektno orijentiranom programiranju za pohranu stanja svakog objekta u klasi. Također su poznate kao varijable člana ili varijable polja. Varijable instance se deklariraju bez upotrebe statične ključne riječi u Javi. Vrijednosti pohranjene u varijablama instance jedinstvene su za svaki objekt (svaki objekt ima zasebnu kopiju), a vrijednosti pohranjene u njima predstavljaju stanje tog objekta. Prostor za varijablu instance dodjeljuje se u hrpi, kada je taj objekt dodijeljen u hrpi. Stoga se varijable instance čuvaju u memoriji sve dok je objekt živ. Na primjer, boja jednog automobila neovisna je od boje drugog automobila. Tako se boja automobilskog predmeta može pohraniti u varijablu instance. U praksi se varijable instance deklariraju unutar klasa i izvan metoda. Obično,varijable instance deklarirane su kao privatne tako da im se može pristupiti samo unutar klase koja je deklarirana.
Što je lokalna varijabla?
Lokalne varijable su varijable koje imaju lokalni opseg i deklariraju se unutar određenog bloka koda. Lokalne varijable mogu se promatrati kao varijable koje metoda koristi za pohranu svog privremenog stanja. Opseg lokalne varijable određuje se pomoću mjesta na kojem je varijabla deklarirana, a posebne se ključne riječi ne koriste u tu svrhu. Tipično je pristup lokalnoj varijabli ograničen unutar bloka koda koji je deklariran (tj. Između zagrada za otvaranje i zatvaranje tog bloka koda). Lokalne varijable obično se pohranjuju u skup poziva. To bi omogućilo rekurzivne pozive funkcija da održe vlastite kopije lokalnih varijabli koje se pohranjuju u odvojenim adresnim prostorima memorije. Kada metoda završi sa svojim izvršavanjem, informacije o toj metodi iskaču se iz niza poziva, također uništavajući pohranjene lokalne varijable.
Koja je razlika između varijable instance i lokalne varijable?
Instance varijable deklariraju se unutar klasa izvan metoda i one pohranjuju stanje objekta, dok su lokalne varijable deklarirane unutar blokova koda i koriste se za pohranu stanja metode. Varijabla instance je aktivna sve dok je objekt koji sadrži tu varijablu aktivan, dok je lokalna varijabla aktivna tijekom izvršavanja te metode / bloka koda. Varijabli instance (koja je proglašena javnom) može se pristupiti unutar klase, dok se lokalnoj varijabli može pristupiti samo unutar bloka koda koji je deklariran. Upotreba varijabli instance ograničena je samo na objektno orijentirano programiranje, dok lokalne varijable nemaju takvo ograničenje.