Objektorientert programmering

Fra Wikipedia, den frie encyklopedi
Hopp til navigering Hopp til søk

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 Simula1960-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[rediger | rediger kilde]

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å[rediger | rediger kilde]

Referanser[rediger | rediger kilde]

  1. ^ «ACM Turing Awards: 2001 – Ole-Johan Dahl» (engelsk). Besøkt 22. oktober 2011. [død lenke]
  2. ^ «ACM Turing Awards: 2001 – Kristen Nygaard» (engelsk). Besøkt 22. oktober 2011. [død lenke]

Eksterne lenker[rediger | rediger kilde]

programmeringstubbDenne programmeringrelaterte artikkelen er foreløpig kort eller mangelfull, og du kan hjelpe Wikipedia ved å utvide den.