Különbség az állományváltozók és a helyi változók között

Anonim

Instance Változó vs Helyi Változó

Egy példányváltozó egy olyan típusú változó, amely jelen van az objektumorientált programozásban. Ez egy változó, amelyet egy osztály határoz meg, és ennek az osztálynak minden egyes objektuma külön változatot tartalmaz a változóról. Másrészt a helyi változók használata nem korlátozódik az objektum-orientált programozási nyelvekre. Ez egy olyan változó, amelyet csak egy adott kódblokkban (például függvényben, hurok blokkban stb.) Lehet meghatározni, amelyben meghatározásra kerül. Emiatt a helyi változóknak helyi hatáskörük van.

Mi az egy instance változó?

A példányváltozókat objektumorientált programozásban használják az egyes objektumok állapotának tárolásához egy osztályban. Ezeket tag változóknak vagy mezőváltozóknak is nevezik. A példányváltozókat a Java statikus kulcsszó használata nélkül deklarálják. A változókban tárolt értékek egyediek az egyes objektumoknál (minden objektumnak különálló másolata van), és a benne tárolt értékek képviselik az objektum állapotát. Egy példányváltozó helyét elosztjuk a halomban, amikor az adott objektum a halomban van elosztva. Ezért a példányváltozók a memóriában maradnak, amíg az objektum él. Például egy autó színe független egy másik autó színétől. Tehát egy autótárgy színét egy példányváltozóban tárolhatjuk. A gyakorlatban a példányváltozókat az osztályok és a külső módszerek között deklarálják. Általában a példányváltozókat magánként deklarálják, így csak az általa deklarált osztályon belül lehet hozzáférni.

Mi a helyi változó?

A helyi változók olyan helyi változók, amelyek egy adott kódblokkban vannak bejelentve. A helyi változók olyan változóknak tekinthetők, amelyeket egy ideiglenes állapot tárolására szolgáló módszer használ. A helyi változó hatókörét a változó deklarálásának helyén határozza meg, és speciális kulcsszavakat nem használnak erre a célra. Általában egy helyi változóhoz való hozzáférés korlátozott a kódblokkon belül, amelyet deklarált (azaz a kódblokk nyitó és záró zárójelei között). A helyi változókat jellemzően a híváscsomagban tárolják. Ez lehetővé tenné, hogy a rekurzív függvényhívások fenntartsák a helyi változók saját példányait, amelyeket külön memória címtartományokban tárolnak. Amikor a módszer befejezte a végrehajtást, az információ arról a módszerről kikerül a híváscsomagból, és megsemmisíti a tárolt helyi változókat.

Mi a különbség az Instance Változó és a Helyi Változó között?

A példányváltozókat a metóduson kívüli osztályokban deklarálják, és egy objektum állapotát tárolják, míg a helyi változókat kódblokkokban deklarálják, és azokat egy módszer állapotának tárolására használják.Egy példányváltozó mindaddig él, amíg az objektum, amely tartalmazza a változót, élő, míg egy helyi változó az adott metódus / kódblokk végrehajtásakor él. Egy példányváltozó (amelyet nyilvánosnak nyilvánít) érhet el az osztályon belül, míg egy helyi változó csak a deklarált kódblokkon belül érhető el. A példányváltozók használata csak az objektum-orientált programozásra korlátozódik, míg a helyi változóknak nincs ilyen korlátozásuk.