Verschil tussen instantievariabele en lokale variabele

Verschil tussen instantievariabele en lokale variabele
Verschil tussen instantievariabele en lokale variabele

Video: Verschil tussen instantievariabele en lokale variabele

Video: Verschil tussen instantievariabele en lokale variabele
Video: Het verschil tussen een oudste en een jongste kleuter 2024, Juli-
Anonim

Instancevariabele versus lokale variabele

Een instantievariabele is een type variabele dat aanwezig is in objectgeoriënteerd programmeren. Het is een variabele die in een klasse is gedefinieerd en elk object van die klasse bevat een afzonderlijke kopie van die variabele. Aan de andere kant is het gebruik van lokale variabelen niet beperkt tot objectgeoriënteerde programmeertalen. Het is een variabele die alleen kan worden beoordeeld binnen een bepaald codeblok (bijv. functie, lusblok, enz.) waarin het is gedefinieerd. Om deze reden wordt van lokale variabelen gezegd dat ze een lokaal bereik hebben.

Wat is een instantievariabele?

Instance-variabelen worden gebruikt in objectgeoriënteerd programmeren om de status van elk object in een klasse op te slaan. Ze worden ook wel lidvariabelen of veldvariabelen genoemd. Instantievariabelen worden gedeclareerd zonder het statische sleutelwoord in Java te gebruiken. De waarden die zijn opgeslagen in instantievariabelen zijn uniek voor elk object (elk object heeft een afzonderlijke kopie) en de waarden die erin zijn opgeslagen, vertegenwoordigen de status van dat object. Ruimte voor een instantievariabele wordt toegewezen in de heap, wanneer dat object in de heap wordt toegewezen. Daarom worden instantievariabelen in het geheugen bewaard zolang het object live is. De kleur van een auto is bijvoorbeeld onafhankelijk van de kleur van een andere auto. Dus de kleur van een auto-object kan worden opgeslagen in een instantievariabele. In de praktijk worden instantievariabelen gedeclareerd binnen klassen en buiten methoden. Gewoonlijk worden instantievariabelen als privé gedeclareerd, zodat ze alleen toegankelijk zijn binnen de klasse waarin deze is gedeclareerd.

Wat is een lokale variabele?

Lokale variabelen zijn variabelen met een lokaal bereik, en ze worden gedeclareerd binnen een specifiek codeblok. Lokale variabelen kunnen worden gezien als variabelen die door een methode worden gebruikt om de tijdelijke status op te slaan. De reikwijdte van een lokale variabele wordt bepaald aan de hand van de locatie waar de variabele is gedeclareerd, en hiervoor worden geen speciale trefwoorden gebruikt. Gewoonlijk is de toegang tot een lokale variabele beperkt binnen het codeblok dat het is gedeclareerd (d.w.z. tussen de openings- en sluitingsaccolades van dat codeblok). Lokale variabelen worden typisch opgeslagen in de call-stack. Dit zou recursieve functie-aanroepen toestaan om hun eigen kopieën van de lokale variabelen op te slaan in afzonderlijke geheugenadresruimten. Wanneer de methode de uitvoering voltooit, wordt informatie over die methode uit de call-stack gehaald, waarbij ook de lokale variabelen die zijn opgeslagen, worden vernietigd.

Wat is het verschil tussen instantievariabele en lokale variabele?

Instance-variabelen worden gedeclareerd binnen klassen buiten methoden, en ze slaan de status van een object op, terwijl lokale variabelen worden gedeclareerd binnen codeblokken, en ze worden gebruikt voor het opslaan van de status van een methode. Een instantievariabele is live zolang het object dat die variabele bevat live is, terwijl een lokale variabele live is tijdens de uitvoering van die methode/codeblok. Een instantievariabele (die openbaar is verklaard) is toegankelijk binnen de klasse, terwijl een lokale variabele alleen toegankelijk is binnen het codeblok dat is gedeclareerd. Het gebruik van instantievariabelen is alleen beperkt tot objectgeoriënteerd programmeren, terwijl lokale variabelen zo'n beperking niet hebben.

Aanbevolen: