Nøgleforskel – klasse vs instansvariable
De fleste moderne programmeringssprog understøtter objektorienteret programmering. Et objekt indeholder data eller attributter. Et objekt har en bestemt adfærd. De er kendt som metoder. Et program kan modelleres ved hjælp af objekter. En software er en samling af programmer. Derfor kan en software designes og implementeres ved hjælp af objekter. Objekter interageres ved hjælp af metoder. Objektorienteret programmering forbedrer kodemodularitet og genanvendelighed. Der skal være en klasse til at skabe objekter. En klasse er en plan for at skabe et objekt. Derfor er et objekt en instans af en klasse. Ved programmering skulle dataene gemmes. Data gemmes på hukommelsespladser. Disse hukommelsesplaceringer kaldes variable. En medlemsvariabel er en variabel, der er knyttet til et bestemt objekt. Den er tilgængelig for alle dens metoder. Der er to typer medlemsvariabler, der er klassevariabler og instansvariabler. Den vigtigste forskel mellem klasse- og instansvariabler er, at hvis der kun er én kopi af variablen, der deles med alle instanser af klassen, kaldes disse variable klassevariabler, og hvis hver instans af klassen har sin egen kopi af variablen, så disse variabler kaldes instansvariabler.
Hvad er klassevariabler?
Når der kun er én kopi af variablen, der deles med alle forekomster af klassen, kaldes disse variable som klassevariable. Klassevariable er variable, der er erklæret inden for klassen uden for enhver metode. Disse variabler indeholder nøgleordet static. Disse variabler er knyttet til klassen, ikke til objektet.
Figur 01: Klassevariabler og instansvariabler
Se nedenstående kodestykke med klassevariabler.
offentlig klassemedarbejder {
offentlig statisk int id;
offentlig statisk dobbeltløn;
}
offentlig klasseprøve {
public static void main(string args){
Employee e1=new Employee();
Employee e2=new Employee();
}
}
I henhold til ovenstående program er e1 og e2 objekter af typen Employee. Begge vil have den samme kopi af hukommelsen. Hvis e1.id=1 og udskrivning af e2.id vil også give værdien 1. Det er muligt at udskrive id og lønværdier ved at bruge Employee klassenavnet, såsom Employee.id, medarbejder.løn osv.
Hvad er instansvariabler?
Når hver instans af klassen har sin egen kopi af variablen, er disse variabler kendt som instansvariabler. Se nedenstående program.
offentlig klassemedarbejder {
offentlig int id;
offentlig dobbeltløn;
}
offentlig klasseprøve{
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 hovedprogrammet er e1 og e2 referencer til objekterne af typen Employee. Det er muligt at tildele værdier for id og løn ved hjælp af prikoperatoren såsom e1.id, e1. løn osv. ID og løn i klassen Medarbejder er kendt som instansvariabler.e1 og e2 er separate objekter. Hvert objekt vil have en separat kopi af instansvariabler. E1 vil have separat id og løn, og e2 vil have separat id og løn. Så instansvariablerne oprettes, når objektet eller instansen oprettes.
Hvad er lighederne mellem klasse- og instansvariabler?
- Begge er typer variabler.
- Begge variabler er inde i en klasse, men uden for enhver metode.
Hvad er forskellen mellem klasse- og instansvariabler?
Klassevariable vs instansvariable |
|
Klassevariabler er variable, hvori der kun er én kopi af variablen, der deles med hele klassens forekomst. | Forekomstvariabler er variable, når hver forekomst af klassen har sin egen kopi af variablen. |
Association | |
Klassevariabler er knyttet til klassen. | Forekomstvariabler er knyttet til objekter. |
Antal kopier | |
Klassevariabler opretter én kopi til alle objekter. | Forekomstvariabler opretter separat kopi for hvert objekt. |
Søgeord | |
Klassevariabler skal have det statiske søgeord. | Forekomstvariabler kræver ikke et særligt søgeord såsom statisk. |
Oversigt – Klasse vs. instansvariabler
Objektorienteret programmering er et stort programmeringsparadigme. Det hjælper med at modellere en software ved hjælp af objekter. Objekter oprettes ved hjælp af klasser. Objektskabelse er også kendt som instansiering. En klasse giver en blueprint til at skabe et objekt. En medlemsvariabel er en variabel, der er knyttet til et bestemt objekt. Den er tilgængelig for alle dens metoder. Der er to typer medlemsvariabler som, klassevariable og instansvariable. Forskellen mellem klasse- og instansvariabler er, at hvis der kun er én kopi af variablen, der deles med alle instanser af klassen, kaldes disse variable klassevariabler, og hvis hver instans af klassen har sin egen kopi af variablen, så variabler kaldes instansvariabler.
Download PDF-versionen af klasse vs instansvariabler
Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-versionen her: Difference Between Class and Instance Variables