Atšķirība starp instances mainīgo un vietējo mainīgo

Atšķirība starp instances mainīgo un vietējo mainīgo
Atšķirība starp instances mainīgo un vietējo mainīgo

Video: Atšķirība starp instances mainīgo un vietējo mainīgo

Video: Atšķirība starp instances mainīgo un vietējo mainīgo
Video: Differences of Preschool and Kindergarten 2024, Novembris
Anonim

Instances mainīgais pret vietējo mainīgo

Instanču mainīgais ir mainīgā veids, kas ir objektorientētā programmēšanā. Tas ir mainīgais, kas ir definēts klasē, un katram šīs klases objektam ir atsevišķa šī mainīgā kopija. No otras puses, lokālo mainīgo izmantošana neaprobežojas tikai ar objektorientētām programmēšanas valodām. Tas ir mainīgais, ko var novērtēt tikai noteiktā koda blokā (piemēram, funkcijā, cilpas blokā utt.), kurā tas ir definēts. Šī iemesla dēļ tiek uzskatīts, ka vietējiem mainīgajiem ir lokāls tvērums.

Kas ir instances mainīgais?

Instanču mainīgie tiek izmantoti objektorientētā programmēšanā, lai saglabātu katra klases objekta stāvokli. Tos sauc arī par dalībnieku mainīgajiem vai lauka mainīgajiem. Gadījumu mainīgie tiek deklarēti, neizmantojot statisko atslēgvārdu Java. Instanču mainīgajos saglabātās vērtības katram objektam ir unikālas (katram objektam ir atsevišķa kopija), un tajās saglabātās vērtības atspoguļo šī objekta stāvokli. Vieta instances mainīgajam tiek piešķirta kaudzē, kad šis objekts ir piešķirts kaudzē. Tāpēc gadījumu mainīgie tiek glabāti atmiņā tik ilgi, kamēr objekts darbojas. Piemēram, vienas automašīnas krāsa nav atkarīga no citas automašīnas krāsas. Tātad automašīnas objekta krāsu var saglabāt instances mainīgajā. Praksē gadījumu mainīgie tiek deklarēti klasēs un ārpus metodēm. Parasti gadījumu mainīgie tiek deklarēti kā privāti, lai tiem varētu piekļūt tikai tajā klasē, kurā tie ir deklarēti.

Kas ir lokālais mainīgais?

Lokālie mainīgie ir mainīgie ar lokālu darbības jomu, un tie tiek deklarēti noteiktā koda blokā. Vietējos mainīgos var uzskatīt par mainīgajiem, ko izmanto metode, lai saglabātu pagaidu stāvokli. Vietējā mainīgā apjoms tiek noteikts, izmantojot atrašanās vietu, kurā mainīgais ir deklarēts, un šim nolūkam netiek izmantoti īpaši atslēgvārdi. Parasti piekļuve lokālajam mainīgajam ir ierobežota koda blokā, kurā tas ir deklarēts (t.i., starp šī koda bloka sākuma un aizvēršanas iekavām). Lokālie mainīgie parasti tiek glabāti zvanu kaudzē. Tas ļautu rekursīviem funkciju izsaukumiem saglabāt savas vietējo mainīgo kopijas, kas tiek glabātas atsevišķās atmiņas adrešu telpās. Kad metode pabeidz tās izpildi, informācija par šo metodi tiek parādīta no izsaukuma steka, iznīcinot arī saglabātos lokālos mainīgos.

Kāda ir atšķirība starp instances mainīgo un vietējo mainīgo?

Instanču mainīgie tiek deklarēti klasēs ārpus metodēm, un tie saglabā objekta stāvokli, savukārt vietējie mainīgie tiek deklarēti kodu blokos un tiek izmantoti metodes stāvokļa glabāšanai. Gadījuma mainīgais darbojas tik ilgi, kamēr objekts, kas satur šo mainīgo, ir aktīvs, savukārt lokālais mainīgais ir aktīvs šīs metodes/koda bloka izpildes laikā. Gadījuma mainīgajam (kas ir pasludināts par publisku) var piekļūt klasē, savukārt lokālajam mainīgajam var piekļūt tikai tajā koda blokā, kurā tas ir deklarēts. Instanču mainīgo izmantošana ir ierobežota tikai ar objektorientētu programmēšanu, savukārt vietējiem mainīgajiem šādu ierobežojumu nav.

Ieteicams: