Példány változó vs. helyi változó
Egy példányváltozó egy olyan típusú változó, amely jelen van az objektum-orientált programozásban. Ez egy változó, amelyet egy osztály határoz meg, és az osztály minden objektuma külön tárolja a változót. Másrészt a helyi változók használata nem korlátozódik az objektumorientált programozási nyelvekre. Ez egy változó, amelyet csak egy meghatározott kódblokkban (például funkció, hurokblokk stb.) Lehet megbecsülni, amelyben definiálva van. Ezen okból kifolyólag a helyi változókról azt állítják, hogy helyi hatókörrel rendelkeznek.
Mi egy példányváltozó??
A példányváltozókat használják az objektumorientált programozásban az egyes objektumok állapotának tárolására egy osztályban. Tagváltozóként vagy terepi változóként is ismertek. A példányváltozókat a statikus kulcsszó használata nélkül deklarálják a Java-ban. A példányos változókban tárolt értékek minden objektumra egyediak (minden objektumnak külön példánya van), és az azokban tárolt értékek az adott objektum állapotát képviselik. Egy példányváltozó számára helyet osztanak ki a halomban, amikor az objektumot a halomban osztják el. Ezért a példányváltozók a memóriában maradnak, amíg az objektum élő. Például az egyik autó színe független a másik autó színétől. Tehát az autóobjektum színe egy példányváltozóban tárolható. A gyakorlatban a példányváltozókat osztályokban és külső módszerekben deklarálják. Általában a példányváltozókat privátnak nyilvánítják, így csak az abban deklarált osztályon belül érhetők el.
Mi a helyi változó??
A lokális változók olyan lokális változók, amelyeknek lokális hatóköre van, és azokat egy adott kódblokkban deklarálják. A helyi változók változóknak tekinthetők, amelyeket egy módszer használ az ideiglenes állapotának tárolására. A helyi változó hatókörét a változó deklarált helyének felhasználásával határozzuk meg, és erre a célra nem használunk speciális kulcsszavakat. Általában a helyi változóhoz való hozzáférést a deklarált kódblokkban korlátozzák (azaz a kódblokk nyitó és záró kapcsok között). A helyi változók általában a hívásveremben vannak tárolva. Ez lehetővé tenné a rekurzív funkcióhívásokat, hogy a helyi változók saját másolatát külön memóriacím-területeken tárolják. Amikor a módszer befejezi a végrehajtást, a metódusra vonatkozó információk megjelennek a hívásveremben, megsemmisítve a tárolt helyi változókat is..
Mi a különbség a példányváltozó és a helyi változó között??
A példányváltozókat osztályokon belül deklarálják a metódusokon kívül, és az objektum állapotát tárolják, míg a helyi változókat kódblokkokban deklarálják, és egy módszer állapotának tárolására használják. Egy példányváltozó addig aktív, amíg az adott változót tartalmazó objektum élő, míg a helyi változó aktív az adott módszer / kódblokk végrehajtása során. Egy példány változó (amelyet nyilvánosnak nyilvánítottak) az osztályon belül érhető el, míg a helyi változó csak a deklarált kódblokkban érhető el. A példányváltozók használata csak az objektumorientált programozásra korlátozódik, míg a helyi változóknak nincs ilyen korlátozása.