Nyckelskillnad – klass vs instansvariabler
De flesta moderna programmeringsspråk stöder objektorienterad programmering. Ett objekt innehåller data eller attribut. Ett föremål har vissa beteenden. De är kända som metoder. Ett program kan modelleras med hjälp av objekt. En mjukvara är en samling program. Därför kan en programvara designas och implementeras med hjälp av objekt. Objekt interageras med 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 instans 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. Den är tillgänglig för alla dess metoder. Det finns två typer av medlemsvariabler som är klassvariabler och instansvariabler. Den viktigaste 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 klassvariabler och om varje instans av klassen har sin egen kopia av variabeln, då dessa variabler kallas instansvariabler.
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 deklareras inom klassen utanför vilken metod som helst. Dessa variabler innehåller nyckelordet static. Dessa variabler är associerade med klassen, inte till objektet.
Figur 01: Klassvariabler och instansvariabler
Se nedanstående kod med klassvariabler.
public class anställd {
public static int id;
offentlig statisk dubbellön;
}
public class Test {
public static void main(string args){
Employee e1=new Employee();
Employee e2=new Employee();
}
}
Enligt programmet ovan är e1 och e2 objekt av typen Employee. Båda kommer att ha samma kopia av minne. 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 Employee-klassens namn som Employee.id, anställd.lön etc.
Vad är instansvariabler?
När varje instans av klassen har sin egen kopia av variabeln, är dessa variabler kända som instansvariabler. Se programmet nedan.
public class anställd {
public int id;
offentlig dubbel lön;
}
prov för offentlig klass{
public static void main(string args){
Employee e1=new Employee();
e1.id=1;
e1.salary=20000;
Employee e2=new Employee();
e2.id=2;
e2. lön=25 000;
}
}
I huvudprogrammet är e1 och e2 referenser till objekten av typen Employee. Det är möjligt att tilldela värden för id och lön med hjälp av punktoperatorn 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 kommer att ha en separat kopia av instansvariabler. e1 kommer att ha separat id och lön och e2 kommer att ha separat id och lön. Så, instansvariablerna skapas när objektet eller instansen skapas.
Vilka ä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?
Klassvariabler vs instansvariabler |
|
Klassvariabler är variabler där det bara finns en kopia av variabeln som delas med alla instanser av klassen. | Instansvariabler är variabler när varje instans av klassen har sin egen kopia av variabeln. |
Association | |
Klassvariabler är associerade med klassen. | Förekomstvariabler är associerade med objekt. |
Antal kopior | |
Klassvariabler skapar en kopia för alla objekt. | Instansvariabler skapar separata kopior för varje objekt. |
Sökord | |
Klassvariabler bör ha det statiska nyckelordet. | Förekomstvariabler kräver inget speciellt nyckelord som static. |
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 instansiering. En klass tillhandahåller en ritning för att skapa ett objekt. En medlemsvariabel ä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 alla instanser av klassen, kallas dessa variabler klassvariabler och om varje instans av klassen har sin egen kopia av variabeln, då variabler kallas instansvariabler.
Ladda ned 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: Difference Between Class and Instance Variables