Hvad er forskellen mellem klasse og objekt

Den vigtigste forskel mellem klasse og objekt er, at en klasse er et blueprint eller en skabelon til at skabe objekter, mens et objekt er en instans af en klasse.

Et programmeringsparadigme betegner den måde, hvorpå strukturen og elementerne i et computerprogram organiseres. Et af de vigtigste paradigmer er objektorienteret programmering (OOP). Det giver udviklerne mulighed for nemt at modellere scenarier fra den virkelige verden. Desuden giver dette paradigme mulighed for at skabe software ved hjælp af objekter. Klasse og objekt er to begreber, der er relateret til OOP.

Nøgleområder

1. Hvad er klasse
– Definition, funktionalitet
2. Hvad er objekt
– Definition, funktionalitet
3. Forskellen mellem klasse og objekt
– Sammenligning af de vigtigste forskelle

Nøglebegreber

Attribut, klasse, konstruktør, objekt, metode, OOP

Hvad er klasse

En klasse er et blueprint til at skabe et objekt. Det er en logisk enhed, der giver en struktur til at skabe objekter. Med andre ord kan programmøren oprette flere objekter ved hjælp af én klasse. En klasse består af attributter og metoder. Attributterne er felterne eller metoderne. Metoderne beskriver adfærden. Desuden kan en klasse også indeholde en konstruktør. Det er en særlig metode, der bruges til at initialisere et objekt.

Disse attributter og metoder i en klasse kaldes klassens medlemmer. Disse medlemmer kan have offentlig, privat eller beskyttet synlighed. De offentlige medlemmer er tilgængelige uden for klassen, mens de private medlemmer kun er tilgængelige inden for klassen. Desuden er de beskyttede medlemmer synlige inden for klassen og underklasserne. Programmøren kan sikre en klasses attributter ved at deklarere dem som private og tillade adgang til dem ved hjælp af offentlige metoder.

Hvad er objekt

Et objekt er en instans af en klasse. Med andre ord oprettes objekter ved hjælp af en klasse. Et objekt er en enhed, der har tilstand og adfærd. Klassens attributter beskriver et objekts tilstand. På samme måde beskriver metoderne i en klasse et objekts adfærd.

Tænk f.eks. på et medicinsk styringssystem. Det har tilstande som f.eks. navnet på det medicinske center, placering, antal læger, patienter osv. Det har også adfærd eller funktionaliteter som f.eks. indlæggelse af patienter, udstedelse af lægejournaler, indtastning af lægedata osv. Desuden har et banksystem tilstande som f.eks. bankens navn, beliggenhed, land osv., mens det har adfærd eller funktionaliteter som f.eks. indbetaling, hævning, overførsel af penge.

Sådan er det også muligt ved hjælp af dette klasse-objekt-scenarie nemt at modellere enhver situation i den virkelige verden.

Figur 1: Java-program med klasse og objekter

I ovenstående program er der en klasse ved navn Student. Den har private egenskaber, der hedder id, name og gpa. Student-konstruktøren hjælper med at give startværdier til disse egenskaber. Der er en metode kaldet displayDetails til at vise egenskaberne. I hovedprogrammet oprettes studenterobjekterne (s1, s2). Nøgleordet new hjælper med at allokere hukommelse til objekterne på køretid. Derefter kaldes metoden dispalyDetails ved hjælp af disse objekter. Derfor vises elevoplysningerne på konsollen.

Forskellen mellem klasse og objekt

Definition

En klasse er en skabelon til oprettelse eller instantiering af objekter i et program, mens et objekt er en instans af en klasse. Dette er således den vigtigste forskel mellem Class og Object.

Type

En anden vigtig forskel mellem Class og Object er, at Class er en logisk enhed, mens Object er en fysisk enhed.

Skabelse

Dertil kommer, at Class deklareres med nøgleordet “class”, mens et objekt oprettes med nøgleordet “new”.

Hukommelsesallokering

En Class får ikke nogen hukommelse, når den oprettes, mens objekter får hukommelse, når de oprettes. Dette er derfor endnu en forskel mellem klasse og objekt.

Mængde

Dertil kommer, at en klasse deklareres én gang, mens der oprettes flere objekter ved hjælp af en klasse.

Slutning

Den samlede OOP er baseret på begreberne klasse og objekt. Den væsentligste forskel mellem klasse og objekt er, at klasse er et blueprint eller en skabelon til at skabe objekter, mens et objekt er en instans af en klasse. Kort sagt skal der være en klasse for at skabe objekter.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.