Objektorientert programmering
Fra Wikipedia, den frie encyklopedi
Objektorientert programmering (OOP) er en paradigme for programmering av datamaskiner.
Konseptet stammer fra arbeid 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 og John von Neumann-medaljen for. På 1980-tallet så begynte C++ å bli populært, på 1990-tallet kom Java og styrket også populariteten til OOP.
Følgende konsepter er viktige 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ør at programmereren kan ignorere detaljene ved implementasjon av det han jobber på.
- 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.
- Polymorfisme - gjør at et objekt kan oppføre seg som et annet, bare den oppfyller den «kontrakten» grensesnittet spesifiserer.
- Arv - letter arbeidet med innkapsling og polymorfisme 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.
[rediger] Fordeler og ulemper
Objektorientert programmering har vært den rådende paradigmen 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 paradigmen, 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 og problemet med å bruke objektorientering i samband med relasjonsdatabaser.
[rediger] Se også
- Funksjonell programmering
- Generisk programmering