Nøgleforskel - klasse vs instansvariabler
De fleste moderne programmeringssprog understøtter objektorienteret programmering. Et objekt indeholder data eller attributter. Et objekt har visse opførsler. 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 oprette objekter. En klasse er en plan for at oprette et objekt. Derfor er et objekt en forekomst af en klasse. Ved programmering skulle dataene gemmes. Data gemmes på hukommelsessteder. Disse hukommelsesplaceringer kaldes variabler. En medlemsvariabel er en variabel, der er knyttet til et bestemt objekt. Det er tilgængeligt for alle dets metoder. Der er to typer medlemsvariabler, der er klassevariabler og instansvariabler. Hovedforskellen mellem klasse- og forekomstvariabler er, at hvis der kun er en kopi af variablen, der deles med alle forekomster af klassen, kaldes disse variabler for klassevariabler, og hvis hver forekomst af klassen har sin egen kopi af variablen, så disse variabler kaldes instansvariabler.
INDHOLD
1. Oversigt og nøgleforskel
2. Hvad er klassevariabler
3. Hvad er instansvariabler
4. Ligheder mellem klasse- og instansvariabler
5. Sammenligning side om side - klasse versus instansvariabler i tabelform
6. Resumé
Hvad er klassevariabler?
Når der kun er en kopi af variablen, der deles med alle forekomster af klassen, kaldes disse variabler som klassevariabler. Klassevariabler er variabler, der er deklareret inden for klassen uden for enhver metode. Disse variabler indeholder nøgleordet statisk. Disse variabler er knyttet til klassen og ikke til objektet.
Figur 01: Klassevariabler og instansvariabler
Se nedenstående stykke kode med klassevariabler.
offentlig klassemedarbejder {
offentlig statisk int id;
offentlig statisk dobbelt løn;
}
offentlig klassetest {
offentlig statisk ugyldig hoved (streng args) {
Medarbejder e1 = ny medarbejder ();
Medarbejder e2 = ny medarbejder ();
}
}
I henhold til ovenstående program er e1 og e2 objekter af medarbejdertypen. Begge har samme kopi af hukommelsen. Hvis e1.id = 1 og udskrivning af e2.id også giver værdien 1. Det er muligt at udskrive id- og lønværdierne ved hjælp af medarbejderklassenavnet som Employee.id, Employee.salary etc.
Hvad er instansvariabler?
Når hver forekomst af klassen har sin egen kopi af variablen, er disse variabler kendt som instansvariabler. Se nedenstående program.
offentlig klassemedarbejder {
offentlig int id;
offentlig dobbelt løn
}
offentlig klassetest {
offentlig statisk ugyldig hoved (streng args) {
Medarbejder e1 = ny medarbejder ();
e1.id = 1;
e1. løn = 20000;
Medarbejder e2 = ny medarbejder ();
e2.id = 2;
e2. løn = 25000;
}
}
I hovedprogrammet er e1 og e2 referencer til objekterne af typen Medarbejder. Det er muligt at tildele værdier til id og løn ved hjælp af dotoperatoren 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 et separat id og løn. Så oprettes forekomsten variabler, når objektet eller forekomsten oprettes.
Hvad er ligheden mellem klasse- og instansvariabler?
- Begge er typer af variabler.
- Begge variabler er inde i en klasse, men uden for enhver metode.
Hvad er forskellen mellem klasse- og instansvariabler?
Diff artikel midt foran bordet
Klassevariabler vs instansvariabler |
|
Klassevariabler er variabler, hvor der kun er en kopi af variablen, der deles med hele forekomsten af klassen. | Instansvariabler er variabler, når hver forekomst af klassen har sin egen kopi af variablen. |
Forening | |
Klassevariabler er knyttet til klassen. | Forekomstvariabler er knyttet til objekter. |
Antal kopier | |
Klassevariabler opretter en kopi til alle objekter. | Forekomstvariabler opretter separat kopi for hvert objekt. |
Nøgleord | |
Klassevariabler skal have det statiske nøgleord. | Forekomstvariabler kræver ikke et specielt nøgleord 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. Objekt oprettelse er også kendt som instantiering. En klasse giver en plan for at oprette et objekt. En medlemsvariabel er en variabel, der er knyttet til et bestemt objekt. Det er tilgængeligt for alle dets metoder. Der er to typer medlemsvariabler som, klassevariabler og instansvariabler. Forskellen mellem klasse- og forekomstvariabler er, at hvis der kun er en kopi af variablen, der deles med alle forekomster af klassen, kaldes disse variabler klassevariabler, og hvis hver forekomst 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 offlineformål som pr. Citatnote. Download venligst PDF-versionen her: Forskellen mellem klasse- og instansvariabler