Pagkakaiba sa pagitan ng Instance Variable at Local Variable

Pagkakaiba sa pagitan ng Instance Variable at Local Variable
Pagkakaiba sa pagitan ng Instance Variable at Local Variable

Video: Pagkakaiba sa pagitan ng Instance Variable at Local Variable

Video: Pagkakaiba sa pagitan ng Instance Variable at Local Variable
Video: Ang Pagkakaiba ng Gulay at Prutas 2024, Nobyembre
Anonim

Instance Variable vs Local Variable

Ang instance variable ay isang uri ng variable na nasa object oriented programming. Ito ay isang variable na tinukoy sa isang klase, at ang bawat object ng klase na iyon ay may hawak na isang hiwalay na kopya ng variable na iyon. Sa kabilang banda, ang paggamit ng mga lokal na variable ay hindi limitado sa object oriented programming language. Ito ay isang variable na maaari lamang masuri sa loob ng isang partikular na bloke ng code (hal. function, loop block, atbp.) kung saan ito ay tinukoy. Dahil dito, sinasabing may lokal na saklaw ang mga lokal na variable.

Ano ang Instance Variable?

Ang mga variable ng instance ay ginagamit sa object oriented programming para sa pag-iimbak ng estado ng bawat object sa isang klase. Ang mga ito ay kilala rin bilang mga variable ng miyembro o mga variable ng field. Ang mga variable ng instance ay idineklara nang hindi gumagamit ng static na keyword sa Java. Ang mga value na nakaimbak sa mga variable ng instance ay natatangi sa bawat object (bawat object ay may hiwalay na kopya), at ang mga value na nakaimbak sa mga ito ay kumakatawan sa estado ng object na iyon. Ang puwang para sa isang variable na halimbawa ay inilalaan sa heap, kapag ang bagay na iyon ay inilalaan sa heap. Samakatuwid, ang mga variable ng halimbawa ay pinananatili sa memorya hangga't ang bagay ay live. Halimbawa, ang kulay ng isang kotse ay independiyente sa kulay ng isa pang kotse. Kaya't ang kulay ng isang bagay ng kotse ay maaaring maimbak sa isang variable na halimbawa. Sa pagsasagawa, ang mga variable ng halimbawa ay ipinahayag sa loob ng mga klase, at mga pamamaraan sa labas. Karaniwan, ang mga variable ng instance ay idineklara bilang pribado upang, ma-access lamang ang mga ito sa loob ng klase na idineklara ito.

Ano ang Lokal na Variable?

Ang mga lokal na variable ay mga variable na may lokal na saklaw, at idineklara ang mga ito sa loob ng isang partikular na bloke ng code. Ang mga lokal na variable ay makikita bilang mga variable na ginagamit ng isang paraan upang iimbak ang pansamantalang estado nito. Ang saklaw ng isang lokal na variable ay tinutukoy gamit ang lokasyon kung saan ang variable ay ipinahayag, at ang mga espesyal na keyword ay hindi ginagamit para sa layuning ito. Karaniwan, ang pag-access sa isang lokal na variable ay limitado sa loob ng bloke ng code na idineklara nito (ibig sabihin, sa pagitan ng pagbubukas at pagsasara ng mga brace ng bloke ng code na iyon). Ang mga lokal na variable ay karaniwang naka-imbak sa call stack. Ito ay magpapahintulot sa mga recursive function na tawag na mapanatili ang kanilang sariling mga kopya ng mga lokal na variable na maiimbak sa magkahiwalay na memory address space. Kapag natapos na ng pamamaraan ang pagpapatupad nito, lalabas ang impormasyon tungkol sa paraang iyon mula sa stack ng tawag, na sinisira din ang mga lokal na variable na na-store.

Ano ang pagkakaiba ng Instance Variable at Local Variable?

Ang mga variable ng instance ay idineklara sa loob ng mga klase sa labas ng mga pamamaraan, at iniimbak nila ang estado ng isang bagay, habang ang mga lokal na variable ay idineklara sa loob ng mga bloke ng code, at ginagamit ang mga ito para sa pag-iimbak ng estado ng isang pamamaraan. Ang isang instance variable ay live hangga't ang object na naglalaman ng variable na iyon ay live, habang ang isang lokal na variable ay live sa panahon ng pagpapatupad ng method/code block na iyon. Maaaring ma-access ang isang instance variable (na idineklara na pampubliko) sa loob ng klase, samantalang ang isang lokal na variable ay maaari lamang ma-access sa loob ng code block kung saan ito idineklara. Ang paggamit ng mga variable ng instance ay limitado lamang sa object oriented programming, habang ang mga lokal na variable ay walang ganoong limitasyon.

Inirerekumendang: