Diferența Dintre Variabila De Instanță și Variabila Locală

Diferența Dintre Variabila De Instanță și Variabila Locală
Diferența Dintre Variabila De Instanță și Variabila Locală

Video: Diferența Dintre Variabila De Instanță și Variabila Locală

Video: Diferența Dintre Variabila De Instanță și Variabila Locală
Video: #16 Tutorial PHP [ROMANA] - Variabile GLOBALE | LOCALE 2024, Decembrie
Anonim

Variabila de instanță față de variabila locală

O variabilă de instanță este un tip de variabilă care este prezentă în programarea orientată pe obiecte. Este o variabilă care este definită într-o clasă și fiecare obiect al acelei clase deține o copie separată a acelei variabile. Pe de altă parte, utilizarea variabilelor locale nu se limitează la limbaje de programare orientate pe obiecte. Este o variabilă care poate fi evaluată numai într-un anumit bloc de cod (de ex. Funcție, bloc de buclă etc.) în care este definită. Din acest motiv, se spune că variabilele locale au un domeniu de aplicare local.

Ce este o variabilă de instanță?

Variabilele de instanță sunt utilizate în programarea orientată pe obiecte pentru stocarea stării fiecărui obiect într-o clasă. Ele sunt, de asemenea, cunoscute sub numele de variabile membre sau variabile de câmp. Variabilele de instanță sunt declarate fără a utiliza cuvântul cheie static în Java. Valorile stocate în variabilele de instanță sunt unice pentru fiecare obiect (fiecare obiect are o copie separată), iar valorile stocate în ele reprezintă starea acelui obiect. Spațiul pentru o variabilă de instanță este alocat în heap, atunci când acel obiect este alocat în heap. Prin urmare, variabilele de instanță sunt păstrate în memorie atâta timp cât obiectul este activ. De exemplu, culoarea unei mașini este independentă de culoarea unei alte mașini. Deci culoarea unui obiect auto poate fi stocată într-o variabilă de instanță. În practică, variabilele de instanță sunt declarate în interiorul claselor și în afara metodelor. Obișnuit,variabilele de instanță sunt declarate private, astfel încât să poată fi accesate numai în cadrul clasei declarate.

Ce este o variabilă locală?

Variabilele locale sunt variabile cu un scop local și sunt declarate într-un anumit bloc de cod. Variabilele locale pot fi văzute ca variabile care sunt utilizate de o metodă pentru a stoca starea sa temporară. Domeniul de aplicare al unei variabile locale este determinat folosind locația în care este declarată variabila, iar cuvintele cheie speciale nu sunt utilizate în acest scop. De obicei, accesul la o variabilă locală este limitat în cadrul blocului de cod pe care îl declară (adică între acoladele de deschidere și de închidere ale acelui bloc de cod). Variabilele locale sunt de obicei stocate în stiva de apeluri. Acest lucru ar permite apelurilor funcționale recursive să își păstreze propriile copii ale variabilelor locale care să fie stocate în spații separate de adrese de memorie. Când metoda își termină execuția, informațiile despre acea metodă sunt scoase din stiva de apeluri, distrugând și variabilele locale care au fost stocate.

Care este diferența dintre variabila de instanță și variabila locală?

Variabilele de instanță sunt declarate în cadrul claselor din afara metodelor și stochează starea unui obiect, în timp ce variabilele locale sunt declarate în blocuri de cod și sunt utilizate pentru stocarea stării unei metode. O variabilă de instanță este activă atâta timp cât obiectul care conține acea variabilă este activă, în timp ce o variabilă locală este activă în timpul executării acelei metode / blocuri de cod. O variabilă de instanță (care este declarată publică) poate fi accesată în cadrul clasei, în timp ce o variabilă locală poate fi accesată numai în cadrul blocului de cod pe care este declarat. Utilizarea variabilelor de instanță este limitată doar la programarea orientată pe obiecte, în timp ce variabilele locale nu au o astfel de limitare.

Recomandat: