Erinevus Eksemplari Muutuja Ja Kohaliku Muutuja Vahel

Erinevus Eksemplari Muutuja Ja Kohaliku Muutuja Vahel
Erinevus Eksemplari Muutuja Ja Kohaliku Muutuja Vahel

Video: Erinevus Eksemplari Muutuja Ja Kohaliku Muutuja Vahel

Video: Erinevus Eksemplari Muutuja Ja Kohaliku Muutuja Vahel
Video: Decji hor Zvoncici - Materina maza, spot 2024, Aprill
Anonim

Eksemplari muutuja vs kohalik muutuja

Eksemplarimuutuja on muutuja tüüp, mis on olemas objektorienteeritud programmeerimisel. See on klassis määratletud muutuja ja selle klassi iga objekt omab selle muutuja eraldi koopiat. Teiselt poolt ei piirdu lokaalsete muutujate kasutamine objektorienteeritud programmeerimiskeeltega. See on muutuja, mida saab hinnata ainult kindlas koodiplokis (nt funktsioon, tsükliplokk jne), milles see on määratletud. Sel põhjusel öeldakse, et kohalikel muutujatel on kohalik ulatus.

Mis on eksemplari muutuja?

Eksemplarimuutujaid kasutatakse objektorienteeritud programmeerimisel iga klassi objekti oleku salvestamiseks. Neid tuntakse ka liikmemuutujate või välimuutujatena. Eksemplaride muutujad deklareeritakse Java staatilist märksõna kasutamata. Näiteks muutujatesse salvestatud väärtused on iga objekti jaoks unikaalsed (igal objektil on eraldi koopia) ja nendesse salvestatud väärtused tähistavad selle objekti olekut. Ruumi eksemplari muutuja jaoks eraldatakse hunnikus, kui see objekt on hunnikus eraldatud. Seetõttu hoitakse eksemplari muutujaid mälus seni, kuni objekt on aktiivne. Näiteks ühe auto värv ei sõltu teise auto värvist. Nii et autoobjekti värvi saab salvestada eksemplari muutujasse. Praktikas deklareeritakse näiteks muutujad klassides ja väljaspool meetodeid. Tavaliselteksemplari muutujad deklareeritakse privaatsetena, nii et neile pääseb juurde ainult selles klassis, kuhu see on deklareeritud.

Mis on kohalik muutuja?

Kohalikud muutujad on kohaliku ulatusega muutujad ja need deklareeritakse kindlas koodiplokis. Kohalikke muutujaid võib vaadelda muutujatena, mida meetod kasutab selle ajutise oleku salvestamiseks. Kohaliku muutuja ulatus määratakse kindlaks muutuja deklareeritud asukoha järgi ja spetsiaalseid märksõnu selleks ei kasutata. Tavaliselt on juurdepääs lokaalsele muutujale piiratud deklareeritud koodiplokis (st selle koodiploki avamise ja sulgemise vahel). Kohalikud muutujad salvestatakse tavaliselt kõnepinu. See võimaldaks rekursiivsetel funktsioonikõnedel säilitada kohalike muutujate oma koopiad, mis salvestatakse eraldi mäluaadressiruumidesse. Kui meetod on selle täitmise lõpetanud, ilmub kõneviisist teave selle meetodi kohta, hävitades ka salvestatud kohalikud muutujad.

Mis vahe on eksemplari muutuja ja kohaliku muutuja vahel?

Eksemplaride muutujad deklareeritakse klassides väljaspool meetodeid ja need salvestavad objekti oleku, samas kui kohalikud muutujad deklareeritakse koodiplokkides ja neid kasutatakse meetodi oleku salvestamiseks. Eksemplari muutuja on aktiivne seni, kuni seda muutujat sisaldav objekt on aktiivne, samas kui kohalik muutuja on selle meetodi / koodiploki täitmise ajal aktiivne. Eksemplari muutujale (mis on avalikuks tunnistatud) pääseb juurde klassis, samas kui lokaalsele muutujale pääseb juurde ainult selles deklareeritud koodiplokis. Näiteks muutujate kasutamine on piiratud ainult objektorienteeritud programmeerimisega, samas kui kohalikel muutujatel sellist piirangut pole.

Soovitatav: