Razlika med instančno spremenljivko in lokalno spremenljivko

Primerek spremenljivka v primerjavi z lokalno spremenljivko

Primerov spremenljivke je vrsta spremenljivke, ki je prisotna v objektno usmerjenem programiranju. Gre za spremenljivko, ki je definirana v razredu in vsak predmet tega razreda ima ločeno kopijo te spremenljivke. Po drugi strani uporaba lokalnih spremenljivk ni omejena na objektno usmerjene programske jezike. Gre za spremenljivko, ki jo je mogoče oceniti samo znotraj določenega bloka kode (npr. Funkcija, blok zanke itd.), V katerem je definirana. Zaradi tega naj bi imele lokalne spremenljivke lokalni obseg.

Kaj je spremenljivka na primer?

Instance spremenljivke se uporabljajo v objektno usmerjenem programiranju za shranjevanje stanja vsakega predmeta v razredu. Znane so tudi kot članske spremenljivke ali spremenljivke polja. Spremenljivke primerkov so objavljene brez uporabe statične ključne besede v Javi. Vrednosti, shranjene v primerkih spremenljivk, so edinstvene za vsak predmet (vsak predmet ima ločeno kopijo), vrednosti, ki so shranjene v njih, pa predstavljajo stanje tega predmeta. Prostor za spremenljivko primerka je dodeljen v kopici, ko je ta objekt dodeljen v kopici. Zato se spremenljivke primerkov hranijo v pomnilniku, dokler je predmet živ. Na primer, barva enega avtomobila je neodvisna od barve drugega avtomobila. Torej se lahko barva avtomobilskega predmeta shrani v spremenljivko primerka. V praksi se spremenljivke primerkov deklarirajo znotraj razredov in zunaj metod. Običajno so spremenljivke primerkov deklarirane kot zasebne, tako da je do njih mogoče dostopati le znotraj razreda, ki ga je prijavil.

Kaj je lokalna spremenljivka?

Lokalne spremenljivke so spremenljivke, ki imajo lokalni obseg, in so deklarirane v določenem bloku kod. Lokalne spremenljivke lahko vidimo kot spremenljivke, ki jih metoda uporablja za shranjevanje začasnega stanja. Obseg lokalne spremenljivke se določi z lokacijo, ki je spremenljivka razglašena, v ta namen pa se ne uporabljajo posebne ključne besede. Običajno je dostop do lokalne spremenljivke omejen znotraj kodnega bloka, ki ga je razglasil (tj. Med odprtjem in zapiranjem naramnic tega bloka kod). Lokalne spremenljivke so običajno shranjene v nizu klicev. To bi omogočilo rekurzivne klice funkcij, da ohranijo svoje kopije lokalnih spremenljivk, ki se shranijo v ločenih naslovih pomnilnika. Ko metoda zaključi z izvajanjem, se informacije o tej metodi izkažejo iz sklada klicev in uničijo tudi lokalne spremenljivke, ki so bile shranjene.

Kakšna je razlika med instančno spremenljivko in lokalno spremenljivko?

Instance spremenljivke so deklarirane znotraj razredov zunaj metod in shranjujejo stanje predmeta, medtem ko so lokalne spremenljivke deklarirane znotraj kodnih blokov in se uporabljajo za shranjevanje stanja metode. Primerek spremenljivke je dejaven, dokler je objekt, ki vsebuje to spremenljivko, dejaven, medtem ko je lokalna spremenljivka v živo med izvajanjem tega bloka metode / kode. Dostop do spremenljivke primerka (ki je razglašen za javno) je mogoč znotraj razreda, medtem ko je lokalna spremenljivka dostopna le v bloku kode, ki je prijavljen. Uporaba spremenljivk primerkov je omejena le na objektno usmerjeno programiranje, medtem ko lokalne spremenljivke nimajo takšnih omejitev.