Razlika med spremenljivko primerka in lokalno spremenljivko

Razlika med spremenljivko primerka in lokalno spremenljivko
Razlika med spremenljivko primerka in lokalno spremenljivko

Video: Razlika med spremenljivko primerka in lokalno spremenljivko

Video: Razlika med spremenljivko primerka in lokalno spremenljivko
Video: Страшные истории на ночь. За гранью сознания. Басанам 2. Истории. Мистика. Creepypasta. 2024, Julij
Anonim

Spremenljivka primerka proti lokalni spremenljivki

Spremenljivka primerka je vrsta spremenljivke, ki je prisotna v objektno usmerjenem programiranju. To je spremenljivka, ki je definirana v razredu, in vsak objekt tega razreda ima ločeno kopijo te spremenljivke. Po drugi strani pa uporaba lokalnih spremenljivk ni omejena na objektno usmerjene programske jezike. Je spremenljivka, ki jo je mogoče oceniti le znotraj določenega bloka kode (npr. funkcije, bloka zanke itd.), v katerem je definirana. Zaradi tega razloga velja, da imajo lokalne spremenljivke lokalni obseg.

Kaj je spremenljivka primerka?

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

Kaj je lokalna spremenljivka?

Lokalne spremenljivke so spremenljivke, ki imajo lokalni obseg in so deklarirane v določenem bloku kode. Lokalne spremenljivke lahko vidimo kot spremenljivke, ki jih metoda uporablja za shranjevanje svojega začasnega stanja. Obseg lokalne spremenljivke je določen z lokacijo, kjer je spremenljivka deklarirana, posebne ključne besede pa se za ta namen ne uporabljajo. Običajno je dostop do lokalne spremenljivke omejen znotraj kodnega bloka, v katerem je deklarirana (tj. med začetnim in končnim oklepajem tega kodnega bloka). Lokalne spremenljivke so običajno shranjene v skladu klicev. To bi omogočilo rekurzivnim funkcijskim klicem, da ohranijo lastne kopije lokalnih spremenljivk, ki bodo shranjene v ločenih pomnilniških naslovnih prostorih. Ko metoda konča z izvajanjem, se informacije o tej metodi prikažejo iz sklada klicev, pri čemer se uničijo tudi lokalne spremenljivke, ki so bile shranjene.

Kakšna je razlika med spremenljivko primerka in lokalno spremenljivko?

Spremenljivke primerka so deklarirane znotraj razredov zunaj metod in shranijo stanje objekta, medtem ko so lokalne spremenljivke deklarirane znotraj blokov kode in se uporabljajo za shranjevanje stanja metode. Spremenljivka primerka je živa, dokler je živ objekt, ki vsebuje to spremenljivko, medtem ko je lokalna spremenljivka živa med izvajanjem te metode/bloka kode. Do spremenljivke primerka (ki je deklarirana kot javna) je mogoče dostopati znotraj razreda, medtem ko je do lokalne spremenljivke mogoče dostopati le znotraj bloka kode, v katerem je deklarirana. Uporaba spremenljivk instance je omejena samo na objektno usmerjeno programiranje, medtem ko lokalne spremenljivke nimajo takšne omejitve.

Priporočena: