Ilmentymämuuttuja vs. paikallinen muuttuja
Instanssimuuttuja on muuttujatyyppi, joka esiintyy olio-ohjelmoinnissa. Se on muuttuja, joka on määritelty luokassa, ja jokaisessa luokan luokassa on erillinen kopio muuttujasta. Toisaalta paikallisten muuttujien käyttö ei rajoitu olio-ohjelmointikieliin. Se on muuttuja, joka voidaan arvioida vain tietyssä koodilohkossa (esim. Funktio, silmukkalohko jne.), Jossa se on määritelty. Tästä syystä paikallisten muuttujien sanotaan olevan paikallisia.
Mikä on esiintymämuuttuja?
Ilmentymämuuttujia käytetään olio-ohjelmoinnissa kunkin objektin tilan tallentamiseen luokassa. Ne tunnetaan myös jäsenmuuttujina tai kenttämuuttujina. Ilmentymämuuttujat ilmoitetaan ilman Java-staattista avainsanaa. Esimerkiksi muuttujiin tallennetut arvot ovat yksilöllisiä jokaiselle objektille (jokaisella objektilla on erillinen kopio), ja niihin tallennetut arvot edustavat kyseisen objektin tilaa. Tilaa esiintymämuuttujalle varataan kasaan, kun kyseinen kohde varataan kasaan. Siksi instanssimuuttujia pidetään muistissa niin kauan kuin objekti on aktiivinen. Esimerkiksi yhden auton väri on riippumaton toisen auton väristä. Joten auto-objektin väri voidaan tallentaa instanssimuuttujaan. Käytännössä esiintymämuuttujat ilmoitetaan luokkien sisällä ja menetelmien ulkopuolella. Yleensä,ilmentymämuuttujat ilmoitetaan yksityisiksi, jotta niihin pääsee vain ilmoitetun luokan sisällä.
Mikä on paikallinen muuttuja?
Paikalliset muuttujat ovat muuttujia, joilla on paikallinen laajuus, ja ne ilmoitetaan tietyssä koodilohkossa. Paikalliset muuttujat voidaan nähdä muuttujina, joita menetelmä käyttää väliaikaisen tilansa tallentamiseen. Paikallisen muuttujan laajuus määritetään käyttämällä sijaintia, johon muuttuja ilmoitetaan, eikä erityisiä avainsanoja käytetä tähän tarkoitukseen. Tyypillisesti pääsy paikalliseen muuttujaan on rajoitettu koodilohkossa, josta se on ilmoitettu (ts. Kyseisen koodilohkon avaus- ja sulkutukien välissä). Paikalliset muuttujat tallennetaan tyypillisesti puhelupinoon. Tämä antaisi rekursiivisten funktiokutsujen ylläpitää omia paikallisten muuttujien kopioita, jotka tallennetaan erillisiin muistiosoitteisiin. Kun menetelmä on suoritettu loppuun, tietoa menetelmästä ponnahtaa pois puhelupinosta tuhoamalla myös tallennetut paikalliset muuttujat.
Mitä eroa on esiintymämuuttujan ja paikallisen muuttujan välillä?
Ilmentymämuuttujat ilmoitetaan luokissa menetelmien ulkopuolella, ja ne tallentavat objektin tilan, kun taas paikalliset muuttujat ilmoitetaan koodilohkoissa, ja niitä käytetään menetelmän tilan tallentamiseen. Ilmentymämuuttuja on aktiivinen niin kauan kuin objekti, joka sisältää muuttujan, on aktiivinen, kun taas paikallinen muuttuja on aktiivinen menetelmän / koodilohkon suorituksen aikana. Ilmentymämuuttujaa (joka on julistettu julkiseksi) voidaan käyttää luokassa, kun taas paikallista muuttujaa voidaan käyttää vain sen koodilohkon sisällä, jonka se on ilmoittanut. Esimerkkimuuttujien käyttö on rajoitettu vain olio-ohjelmointiin, kun taas paikallisilla muuttujilla ei ole tällaista rajoitusta.