Objektorientert programmering
Objektorientert programmering (OOP) er et paradigme for programmering av datamaskiner.
Konseptet stammer fra arbeidet nordmennene Kristen Nygaard og Ole-Johan Dahl gjorde ved Norsk Regnesentral med programmeringsspråket Simula på 1960-tallet, noe de ble belønnet med både Turing-prisen[1][2] og John von Neumann-medaljen for. OOP-konseptet fikk stor utbredelse gjennom bruk i andre programmeringsspråk, på 1970-tallet Smalltalk, på 1980-tallet C++ og på 1990-tallet Java.
Følgende prinsipper er sentrale i OOP:
- Objekter – pakke data og funksjonalitet sammen i enheter i programmet. Dette er basis for modularitet, en av kvalitetene man prøver å oppnå.
- Abstraksjon – gjøre at programmereren underveis kan ignorere noen av detaljene ved implementasjon av det som jobbes med.
- Innkapsling – skjule den interne tilstanden til et objekt fra andre. Dette gjør at utenforstående kode ikke kan endre på tilstanden til objektet på uforutsette måter.
- Polymorfi – gjøre at et objekt kan oppføre seg som et annet, bare den oppfyller den «kontrakten» grensesnittet spesifiserer.
- Arv – lette arbeidet med innkapsling og polymorfi ved å tillate programmereren å lage objekter som er mer spesialiserte utgaver av andre objekter.
De fleste av de mest brukte programmeringsspråkene i dag benytter seg av en objektorientert programmeringsmodell.
Fordeler og ulemper
Objektorientert programmering har vært det rådende paradigmet siden 1990-tallet, og har både tilhengere og motstandere. Tilhengerne peker ofte på at objekter og hierarkier både passer den virkelig verden godt og er en naturlig måte å tenke på for mennesker. De trekker også fram at de fleste utviklere i dag er kjent med paradigmet, og kan jobbe med kode som er skrevet slik uten ekstra opplæring. Motstanderne peker ofte på virkelige problemstillinger som passer dårlig i en objektmodell samt problemet med å bruke objektorientering i samband med relasjonsdatabaser.
Se også
Eksterne lenker
Kilder
- ^ «ACM Turing Awards: 2001 – Ole-Johan Dahl» (på engelsk). Besøkt 22. oktober 2011.[død lenke]
- ^ «ACM Turing Awards: 2001 – Kristen Nygaard» (på engelsk). Besøkt 22. oktober 2011.[død lenke]