Hvad er objektorienteret programmering?
Objektorienteret programmering (OOP) er en model for programmeringssprog, der fokuserer på brugen af objekter i stedet for handlinger for at udføre opgaver. Dette indebærer en tilgang, der er mere opmærksom på data og mindre beskæftiget med logik, hvilket mere almindeligt er tilfældet i andre programmeringsparadigmer. Synet på objekter og handlinger er det modsatte af, hvordan det er på andre sprog, og vægten ligger på selve objekterne snarere end på udførelsen af opgaver, der anvender objekterne. På samme måde overvejer strukturen ikke at beslutte, hvordan man anvender logikken, men om definitionen af de data, der vil blive brugt i programmeringen.
Design af computersoftware med objektorienteret programmering begynder med at definere de objekter, der skal manipuleres af programmet. Programmeringen vil derefter begynde at identificere forholdet mellem hvert objekt, en proces der normalt kaldes datamodellering. I det væsentlige søger programmereren at placere objekterne i en klassificering, og hjælper derfor med at definere de data, der er en del af arven, som hver objekt bringer til opgaven. Faktisk kaldes processen med at definere disse klasser og underklasser af data normalt arv.
OOP hjælper også med at sortere objekter på en måde, der gør det muligt at finde polymorfisme. Det vil sige, at forskellige objekter vil være i stand til at svare på en fælles meddelelse, men hver på en anden måde, der er unik for dette objekt. På samme tid tillader denne programmeringstype indkapsling af et objekt, effektivt skjuler eller beskytter de data, der er tilknyttet objektet, fra let visning uden sikkerhedsadgang.
En af fordelene ved objektorienteret programmering er, at processen gør god brug af modularitet, hvilket betyder, at objekter og opgaver er grupperet på en måde, som hvert modul er i stand til uafhængigt at overveje. Dette kan være en stor hjælp, når du forbedrer et program, da modularitet gør det muligt at adressere opgaven med at skifte skift til opsætningen af en del af programmeringen uden at påvirke strukturen og funktionen til de andre moduler.