Hva er objektorientert programmering?
Objektorientert programmering (OOP) er en modell av programmeringsspråk som fokuserer på bruk av objekter i stedet for handlinger for å utføre oppgaver. Dette innebærer å ta en tilnærming som er mer oppmerksom på data og mindre opptatt av logikk, noe som er mer vanlig i andre programmeringsparadigmer. Synet på objekter og handlinger er det motsatte av hvordan det er på andre språk, og vektleggingen ligger på selve objektene snarere enn på utførelse av oppgaver som bruker objektene. På samme måte vurderer strukturen ikke å bestemme hvordan logikken skal benyttes, men definisjonen av dataene som skal brukes i programmeringen.
Å designe dataprogramvare med objektorientert programmering begynner med å definere objektene som skal manipuleres av programmet. Programmereren vil deretter begynne å identifisere forholdet mellom hvert objekt, en prosess som vanligvis kalles datamodellering. I hovedsak søker programmereren å plassere objektene i en klassifisering, og hjelper derfor med å definere dataene som er en del av arven brakt til oppgaven av hvert objekt. Faktisk kalles prosessen med å definere disse klassene og underklasser av data arv.
OOP hjelper også til med å sortere objekter på en måte som gjør det mulig å finne polymorfisme. Det vil si at forskjellige objekter vil kunne svare på en felles melding, men hver på en annen måte som er unik for det objektet. Samtidig tillater denne typen programmering innkapsling av et objekt, effektivt skjuler eller beskytte dataene som er knyttet til objektet fra enkel visning uten sikkerhetsadgang.
En av fordelene med objektorientert programmering er at prosessen gjør god bruk av modularitet, noe som betyr at objekter og oppgaver er gruppert på en måte som hver modul er i stand til uavhengig vurdering. Dette kan være en god hjelp når du gjør forbedringer til et program, da modularitet gjør det mulig å adressere oppgaven med å gjøre alternativer til oppsettet av en del av programmeringen uten å påvirke strukturen og funksjonen til de andre modulene.