Skillnad mellan klass och instansvariabler

Huvudskillnad - Klass vs Instansvariabler
 

De flesta moderna programmeringsspråk stöder objektorienterad programmering. Ett objekt innehåller data eller attribut. Ett objekt har vissa beteenden. De är kända som metoder. Ett program kan vara modell med objekt. En programvara är en samling av program. Därför kan en programvara utformas och implementeras med hjälp av objekt. Objekt interageras med metoder. Objektorienterad programmering förbättrar kodmodularitet och återanvändning. Det borde finnas en klass för att skapa objekt. En klass är en ritning för att skapa ett objekt. Därför är ett objekt en förekomst av en klass. Vid programmering måste data lagras. Data lagras i minnesplatser. Dessa minnesplatser heter variabler. En variabel för medlemmar är en variabel som är associerad med ett specifikt objekt. Den är tillgänglig för alla dess metoder. Det finns två typer av medlemsvariabler som är klassvariabler och instansvariabler. De nyckelskillnad mellan klass- och instansvariabler är det, om det bara finns en kopia av variabeln som delas med all förekomst av klassen, kallas dessa variabler klassvariabler och om varje instans av klassen har sin egen kopia av variabeln, så kallas dessa variabler instansvariabler.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är klassvariabler
3. Vad är Instansvariabler
4. Likheter mellan klass och instansvariabler
5. Jämförelse vid sida vid sida - Klass vs Instansvariabler i tabellform
6. Sammanfattning

Vad är klassvariabler?

När det bara finns en kopia av variabeln som delas med all instans av klassen, kallas dessa variabler som klassvariabler. Klassvariabler är variabler deklarerade inom klassen utanför vilken metod som helst. Dessa variabler innehåller sökordet static.These variabler är associerade med klassen, inte till objektet.

Figur 01: Klassvariabler och Instansvariabler

Se nedan stycket kod med klassvariabler.

offentlig klass Anställd

offentliga statiska int id;

statisk statisk dubbellön

offentlig klass Test

statisk statisk tomt huvud (sträng [] args)

Anställd e1 = Ny Anställd ();

Anställd e2 = Ny Anställd ();

Enligt ovanstående program är e1 och e2 anställda typobjekt. Båda kommer att ha samma kopia av minne. Om e1.id = 1 och utskrift e2.id också ger värdet 1. Det är möjligt att skriva ut id- och lönevärdena med anställd klassnamn som Employee.id, Employee.salary etc.

Vad är Instansvariabler?

När varje instans av klassen har sin egen kopia av variabeln är dessa variabler kända som instansvariabler. Se nedan programmet.

offentlig klass Anställd

offentliga int id;

allmän dubbellön

offentlig klass Test

statisk statisk tomt huvud (sträng [] args)

Anställd e1 = Ny Anställd ();

e1.id = 1;

e1.salary = 20000;

Anställd e2 = Ny Anställd ();

e2.id = 2;

e2. lön = 25000;

I huvudprogrammet är e1 och e2 referenser till föremålen av typen Medarbetare. Det är möjligt att tilldela värden för id och lön med punktpostoperatören som e1.id, e1. lön etc. Id och lön i klassen Medarbetare är kända som förekomstvariabler. E1 och e2 är separata objekt. Varje objekt kommer att ha en separat kopia av instansvariabler. E1 har separat id och lön och e2 kommer att ha en separat id och lön. Så skapas instansvariablerna när objektet eller förekomsten skapas.

Vad är likheterna mellan klass och instansvariabler?

  • Båda är typer av variabler.
  • Båda variablerna ligger inuti en klass men utan vilken metod som helst.

Vad är skillnaden mellan klass och instansvariabler?

Klassvariabler vs Instansvariabler

Klassvariabler är variabler där det bara finns en kopia av variabeln som delas med all klassens instans. Instansvariabler är variabler när varje instans av klassen har sin egen kopia av variabeln.
 Förening
Klassvariabler är förknippade med klassen. Instansvariabler är associerade med objekt.
Antal kopior
Klassvariabler skapar en kopia för alla objekt. Instansvariabler skapar separat kopia för varje objekt.
 Nyckelord
Klassvariabler ska ha det statiska sökordet. Instansvariabler kräver inte ett speciellt sökord, t.ex. statisk.

Sammanfattning - Klass vs Instansvariabler

Objektorienterad programmering är ett stort programmeringsparadigm. Det hjälper till att modellera en programvara med hjälp av objekt. Objekt skapas med hjälp av klasser. Objektskapande är också känt som instantiering. En klass ger en ritning för att skapa ett objekt. En variabel för medlemmar är en variabel som är associerad med ett specifikt objekt. Den är tillgänglig för alla dess metoder. Det finns två typer av medlemsvariabler som klassvariabler och instansvariabler. Skillnaden mellan klass- och instansvariabler är att om det bara finns en kopia av variabeln som delas med all förekomst av klassen, kallas dessa variabler klassvariabler och om varje instans av klassen har sin egen kopia av variabeln, då variabler kallas instansvariabler.

Ladda ner PDF-versionen av klass vs instansvariabler

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offline-ändamål enligt citationsnotat. Vänligen ladda ner PDF-versionen här: Skillnad mellan klass och instansvariabler

Referens:

1.tutorialspoint.com. "Java-objekt och klasser."  Punkten. Tillgänglig här
2. "Instansvariabel." Wikipedia, Wikimedia Foundation, 16 december 2017. Tillgänglig här   
3. "Klassvariabel." Wikipedia, Wikimedia Foundation, 16 december 2017. Tillgänglig här