Nyckelskillnad - 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 modelleras med hjälp av objekt. En programvara är en samling program. Därför kan en programvara utformas och implementeras med hjälp av objekt. Objekt interageras med hjälp av metoder. Objektorienterad programmering förbättrar kodmodularitet och återanvändbarhet. Det bör 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 behövde data lagras. Data lagras på minnesplatser. Dessa minnesplatser kallas variabler. En medlemsvariabel är en variabel som är associerad med ett specifikt objekt. Det är tillgängligt för alla dess metoder. Det finns två typer av medlemsvariabler som är klassvariabler och instansvariabler. Huvudskillnaden mellan klass- och instansvariabler är att om det bara finns en kopia av variabeln som delas med alla instanser av klassen kallas dessa variabler för klassvariabler och om varje förekomst av klassen har sin egen kopia av variabeln dessa variabler kallas instansvariabler.
INNEHÅLL
1. Översikt och nyckeldifferens
2. Vad är klassvariabler
3. Vad är instansvariabler
4. Likheter mellan klass- och instansvariabler
5. Jämförelse sida vid sida - Klass mot instansvariabler i tabellform
6. Sammanfattning
Vad är klassvariabler?
När det bara finns en kopia av variabeln som delas med alla instanser av klassen kallas dessa variabler som klassvariabler. Klassvariabler är variabler som deklarerats inom klassen utanför vilken metod som helst. Dessa variabler innehåller nyckelordet statiska. Dessa variabler är kopplade till klassen, inte till objektet.
Figur 01: Klassvariabler och instansvariabler
Se kod nedan med klassvariabler.
offentlig klass anställd {
offentligt statiskt int id;
offentlig statisk dubbellön;
}
offentligt klassprov {
public static void main (string args) {
Anställd e1 = ny anställd ();
Anställd e2 = ny anställd ();
}
}
Enligt ovanstående program är e1 och e2 objekt av anställdstyp. Båda kommer att ha samma kopia av minnet. Om e1.id = 1 och utskrift av e2.id ger också värdet 1. Det är möjligt att skriva ut id- och lönevärdena med hjälp av anställdas klassnamn som Employee.id, Employee.salary etc.
Vad är instansvariabler?
När varje förekomst av klassen har sin egen kopia av variabeln kallas dessa variabler som förekomstvariabler. Se nedanstående program.
offentlig klass anställd {
offentligt int id;
offentlig dubbel lön;
}
offentligt klassprov {
public static void main (string args) {
Anställd e1 = ny anställd ();
e1.id = 1;
e1.lön = 20000;
Anställd e2 = ny anställd ();
e2.id = 2;
e2. lön = 25000;
}
}
I huvudprogrammet är e1 och e2 referenser till objekten av typen Anställd. Det är möjligt att tilldela värden för id och lön med hjälp av punktoperatören som e1.id, e1. lön etc. Id och lön i klassen Anställd kallas instansvariabler. E1 och e2 är separata objekt. Varje objekt har en separat kopia av instansvariabler. E1 kommer att ha separat id och lön och e2 kommer att ha ett separat id och lön. Så, instansvariablerna skapas när objektet eller förekomsten skapas.
Vad är likheterna mellan klass- och instansvariabler?
- Båda är typer av variabler.
- Båda variablerna finns i en klass men utanför vilken metod som helst.
Vad är skillnaden mellan klass- och instansvariabler?
Skilja artikeln mitt före bordet
Klassvariabler vs instansvariabler |
|
Klassvariabler är variabler där det bara finns en kopia av variabeln som delas med all förekomst av klassen. | Instansvariabler är variabler när varje förekomst av klassen har sin egen kopia av variabeln. |
Förening | |
Klassvariabler är associerade 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 nyckelordet. | Instansvariabler kräver inte ett speciellt nyckelord som 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 kallas också instantiering. En klass ger en ritning för att skapa ett objekt. En medlemsvariabel är en variabel som är associerad med ett specifikt objekt. Det är tillgängligt 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 alla instanser av klassen kallas dessa variabler för klassvariabler och om varje förekomst 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 citat. Ladda ner PDF-versionen här: Skillnaden mellan klass- och instansvariabler