Vad är skillnaden mellan klass och objekt

Den huvudsakliga skillnaden mellan klass och objekt är att en klass är en mall för att skapa objekt, medan ett objekt är en instans av en klass.

Ett programmeringsparadigm betecknar sättet att organisera strukturen och elementen i ett datorprogram. Ett viktigt paradigm är objektorienterad programmering (OOP). Det gör det möjligt för utvecklarna att enkelt modellera scenarier från den verkliga världen. Dessutom gör detta paradigm det möjligt att skapa programvara med hjälp av objekt. Klass och objekt är två begrepp som är relaterade till OOP.

Nyckelområden som täcks

1. Vad är klass
– Definition, funktionalitet
2. Vad är objekt
– Definition, funktionalitet
3. Skillnaden mellan klass och objekt
– Jämförelse av de viktigaste skillnaderna

Nyckelbegrepp

Attribut, klass, konstruktör, objekt, metod, OOP

Vad är klass

En klass är en plan för att skapa ett objekt. Det är en logisk enhet som ger en struktur för att skapa objekt. Med andra ord kan programmeraren skapa flera objekt med hjälp av en klass. En klass består av attribut och metoder. Attributen är fälten eller metoderna. Metoderna beskriver beteendena. Dessutom kan en klass också innehålla en konstruktör. Det är en speciell metod som används för att initialisera ett objekt.

Dessa attribut och metoder i en klass kallas klassens medlemmar. Dessa medlemmar kan ha offentlig, privat eller skyddad synlighet. De offentliga medlemmarna är tillgängliga utanför klassen medan de privata medlemmarna endast är tillgängliga inom klassen. Dessutom är de skyddade medlemmarna synliga inom klassen och underklasser. Programmeraren kan säkra en klass’ attribut genom att deklarera dem som privata och tillåta åtkomst till dem med hjälp av offentliga metoder.

Vad är objekt

Ett objekt är en instans av en klass. Med andra ord skapas objekt med hjälp av en klass. Ett objekt är en enhet som har tillstånd och beteenden. Klassens attribut beskriver ett objekts tillstånd. På samma sätt beskriver klassens metoder ett objekts beteenden.

Till exempel, anta ett system för medicinsk hantering. Det har tillstånd som namn på vårdcentralen, plats, antal läkare, patienter osv. Det har också beteenden eller funktioner som att ta emot patienter, utfärda medicinska rapporter, ange uppgifter om läkare osv. Dessutom har ett banksystem tillstånd som bankens namn, plats, land etc. samtidigt som det har beteenden eller funktioner som insättning, uttag, överföring av pengar.

Med hjälp av detta klass-objektscenario är det möjligt att enkelt modellera alla situationer i den verkliga världen.

Figur 1: Javaprogram med klass och objekt

I programmet ovan finns det en klass som heter Student. Den har privata egenskaper som heter id, name och gpa. Konstruktören Student hjälper till att ge initiala värden till dessa egenskaper. Det finns en metod som heter displayDetails för att visa egenskaperna. I huvudprogrammet skapas studentobjekten (s1, s2). Nyckelordet new hjälper till att allokera minne för objekten vid körning. Sedan anropas metoden dispalyDetails med hjälp av dessa objekt. Därför visas studentdetaljerna på konsolen.

Skillnaden mellan klass och objekt

Definition

En klass är en mall för att skapa eller instansiera objekt i ett program medan ett objekt är en instans av en klass. Detta är alltså den viktigaste skillnaden mellan Class och Object.

Type

En annan viktig skillnad mellan Class och Object är att Class är en logisk enhet medan Object är en fysisk enhet.

Skapande

För övrigt deklareras Class med nyckelordet ”class” medan ett objekt skapas med nyckelordet ”new”.

Minnesallokering

En Class får inget minne när den skapas medan objekt får minne när de skapas. Detta är alltså ytterligare en skillnad mellan klass och objekt.

Kvantitet

För övrigt deklareras en klass en gång medan flera objekt skapas med hjälp av en klass.

Slutsats

Hela OOP bygger på begreppen klass och objekt. Den huvudsakliga skillnaden mellan klass och objekt är att klass är en plan eller en mall för att skapa objekt medan ett objekt är en instans av en klass. Kort sagt bör det finnas en klass för att skapa objekt.

Lämna ett svar

Din e-postadress kommer inte publiceras.