Nyckelord: objektorienterad programmering, OOP, klasser, objekt
Det här kapitlet kommer behandla ett av de viktigaste områdena inom programmering, nämligen vad som kallas för objektorienterad programmering. Vi kommer lära oss hur klasser och objekt fungerar som byggstenarna i större program och hur de olika delarna inom objektorienterad programmering hänger ihop.
Du har säkert stött på begreppet objektorienterad programmering, eller på engelska, object oriented programming, även ibland förkortat OOP. Kortfattat kan man säga att objektorienterad programmering är en programmeringsmetod baserad på en hierarki av klasser och väldefinierade och samarbetande objekt.
Det är just det här som gör Java, och självklart andra objektorienterade programmeringsspråk, så kraftfulla. Vi kan bygga upp programmet som flera modeller (objekt) som sedan kan struktureras i klasser och kunna interagera med varandra.
Det här kapitlet består av fem artiklar där vi ska lära oss vad varje del fungerar med praktiska exempel, men det vi framförallt vill visa är hur de samverkar och tillsammans utgör det som kallas för just objektorienterad programmering.
Klasser och objekt utgör grunden när man programmerar stora program eftersom ett program i själva verket består av flera små byggstenar (objekt) som tillsammans bygger upp stora program. Klasser och objekt möjliggör att vi kan skapa abstraktion när vi programmerar, alltså att man hittar gemensamma drag hos problem och försöker undvika att programmera samma sak om och om igen.
Ett program är i själva verket flera små byggstenar (objekt) som tillsammans bygger upp stora program.
En klass i Java beskriver de attribut och egenskaper som ett objekt ska ha. Klassen fungerar som en mall som beskriver hur någonting är (attribut) och vad den gör (egenskaper). Man kan beskriva det som att klassen fungerar som en ritning för vad objektet ska ha för egenskaper och tillstånd.
Ett objekt är vad som kallas för en instans av en klass. Ett objekt innehåller de attribut och egenskaper som klassen anger att varje objekt från den klassen ska ha.
Enkelt förklarat så kan man beskriva det som att skillnaden mellan en klass och ett objekt är att en klass är en mall för objekt. Om vi tar ett exempel med en bil så är en klass den mall/ritning som beskriver vad bilen ska bestå av och vad bilen ska kunna utföra. Ett objekt är då en bil som är skapad utifrån den mallen, eller rättare sagt, av den klassen.
Tänk dig att vi ska programmera en katt. Som du känner till så har en katt en rad olika egenskaper, exempelvis att kunna klösa och springa. En katt har även vissa attribut, exempelvis ett namn och en färg. Som vi gick igenom ovan så fungerar klassen som en mall som beskriver hur någonting är (attribut) och vad den gör (egenskaper).
I detta exempel har alltså klassen katt två metoder: klösa och springa. Den har även två attribut: namn och färg. Vi har nu en mall av en katt och från denna mall kan vi skapa flera katter, det vill säga objekt av klassen katt. Man säger att man skapar en instans av klassen katt.
Vi har alltså två objekt av klassen katt där ena objektet heter Tom och har vit päls, och den andra katten heter Findus och har brun päls. Båda objekten har egenskaperna att kunna klösa och springa.
Om vi ska nämna några av de generella fördelarna vi anser att det finns så skulle det kunna vara:
Lämna gärna feedback med hjälp av stjärnorna nedan och hjälp oss att fortsätta göra sidan bättre.
Vad tyckte du om sidan?
Lämna gärna feedback och hjälp oss göra sidan bättre
Feedback gör oss bättre!
Lämna gärna feedback om vad du tyckte om avsnittet!
Objektorienterad programmering, även känt som OOP, är en programmeringsmetod baserad på en hierarki av klasser och väldefinierade och samarbetande objekt. Klasser och objekt utgör grunden när man programmerar stora program eftersom ett program i själva verket består av flera små byggstenar (objekt) som tillsammans bygger upp stora program.
Enkelt förklarat så kan man säga att skillnaden mellan en klass och ett objekt är att en klass är en mall för objekt. Det betyder att en klass i Java beskriver de attribut och egenskaper som ett objekt ska ha. Du kan tänka en klass som en ritning och ett objekt som något som är skapat från den ritningen.
Det finns flertalet programmeringsspråk som precis som Java är objektorienterade. Exempelvis, Python, C++, Scala, med mera. På sidan för objektorienterad programmering på wikipedia kan du se en lista med de mest välkända programmeringsspråken som stödjer objektorientering.
Själva grunden gällande tankegång och logiken bakom är samma för de olika programmeringsspråken. Men självklart så skiljer sig tillvägagångsättet för deklarering och rent praktiskt hur man skapar klasser och objekt.
Allmänt så är abstraktion en tankeprocess vid vilken man tar fram det väsentliga och det gemensamma. Mer specifikt inom programmering så kan man säga att abstraktion är ett sätt att hitta gemensamma drag hos problem och försöker undvika att programmera samma sak om och om igen. En klass är en abstraktion av något begrepp ett program hanterar.
Vad tyckte du om sidan?
Lämna gärna feedback och hjälp oss göra sidan bättre
Feedback gör oss bättre!
Lämna gärna feedback om vad du tyckte om avsnittet!