Atšķirība starp instanču mainīgo un lokālo mainīgo

Gadījuma mainīgais vs vietējais mainīgais

Piemēru mainīgais ir mainīgā veids, kas atrodas objektorientētā programmēšanā. Tas ir mainīgais, kas tiek definēts klasē, un katram šīs klases objektam ir atsevišķa šī mainīgā kopija. No otras puses, lokālo mainīgo izmantošana nav ierobežota tikai ar objektorientētām programmēšanas valodām. Tas ir mainīgais lielums, kuru var novērtēt tikai noteiktā koda blokā (piemēram, funkcija, cilpas bloks utt.), Kurā tas ir definēts. Šī iemesla dēļ tiek uzskatīts, ka vietējiem mainīgajiem ir lokāls mērogs.

Kas ir instances mainīgais?

Objekta mainīgos izmanto objektorientētā programmēšanā, lai saglabātu katra objekta stāvokli klasē. Tos sauc arī par dalībnieku mainīgajiem vai lauka mainīgajiem. Gadījumu mainīgie tiek deklarēti, Java neizmantojot statisko atslēgvārdu. Piemēram, mainīgajos lielumos saglabātās vērtības katram objektam ir unikālas (katram objektam ir atsevišķa kopija), un tajos saglabātās vērtības norāda šī objekta stāvokli. Vietas gadījuma mainīgajam tiek iedalītas kaudzē, kad šis objekts tiek iedalīts kaudzē. Tāpēc gadījumu mainīgie tiek saglabāti atmiņā, kamēr objekts ir dzīvs. 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 instanču mainīgajā. Praksē gadījumu mainīgie tiek deklarēti gan klasēs, gan ārpus tām. Parasti instanču mainīgos lielumus deklarē kā privātus, lai tiem varētu piekļūt tikai tajā deklarētajā klasē.

Kas ir vietējais mainīgais?

Vietējie mainīgie ir mainīgie ar lokālu tvērumu, un tie tiek deklarēti noteiktā koda blokā. Vietējos mainīgos var uzskatīt par mainīgajiem, kurus metode izmanto, lai saglabātu tā pagaidu stāvokli. Vietējā mainīgā darbības joma tiek noteikta, izmantojot mainīgā deklarēšanas vietu, un šim nolūkam netiek izmantoti īpaši atslēgvārdi. Parasti pieeja vietējam mainīgajam ir ierobežota koda blokā, kuru tā deklarē (t.i., starp šī koda bloka atvēršanas un aizvēršanas breketēm). Vietējie mainīgie parasti tiek glabāti sarunu kaudzē. Tas ļautu rekursīvo funkciju izsaukumiem saglabāt savas vietējo mainīgo lielumu kopijas, kas jāuzglabā atsevišķās atmiņas adresēs. Kad metode pabeidz tās izpildi, zvana kaudzē tiek parādīta informācija par šo metodi, iznīcinot arī saglabātos vietējos mainīgos..

Kāda ir atšķirība starp instanču mainīgo un lokālo 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 koda blokos, un tos izmanto metodes stāvokļa glabāšanai. Gadījuma mainīgais ir aktīvs, kamēr vien objekts, kas satur šo mainīgo, ir aktīvs, savukārt vietējais mainīgais ir aktīvs šīs metodes / koda bloka izpildes laikā. Instances mainīgajam (tas tiek pasludināts par publisku) var piekļūt klasē, turpretim vietējam mainīgajam var piekļūt tikai tajā koda blokā, kurā tas tiek deklarēts. Gadījumu mainīgo izmantošana tiek ierobežota tikai ar objektu orientētu programmēšanu, savukārt vietējiem mainīgajiem nav šādu ierobežojumu.