Spring til indhold

Objektorienteret programmering

Fra Wikipedia, den frie encyklopædi

Objektorienteret programmering (eller OOP) er tæt koblet til Objektorienteret analyse og design (OOAD).

Princippet

Idéen bag objektorienteret programmering er at opdele programkoden i objekter, der afspejler delelementer af programmets "ansvarsområde".

Der findes tre grundprincipper i objektorienteret programmering: 1. Indkapsling 2. Nedarvning 3. Polymorfi

Indkapsling

Et objekt indkapsler nogle data og noget opførsel

Nedarvning

Et objekt kan nedarve data og opførsel fra et andet objekt.

Eksempelvis kan man have et objekt af typen "Køretøj".

Dette objekt vil have data som hjul, farve osv.

Det vil have en opførsel som eks. "kør" eller "brems".

En bil er en nedarvning af et køretøj, det har hjul og en farve. Desuden kan den køre og bremse

Ligeledes kan man have et køretøj som er en cykel.

Polymorfi

I objektorientering vil det, via polymorfi, være muligt at behandle en bil eller en cykel som et køretøj, eller som det det egentlig er.

Før objektorienteret programmering fungerede et program på den måde, at en række kommandoer blev udført i den rækkefølge programmøren havde indsat dem. Med objektorienteret programmering bryder man programmet op i objekter, så de enkelte dele af programmet kan isoleres fra hinanden (indkapsling), og hermed nemmere udskiftes eller redigeres. Desuden kan objekterne genbruges i flere forskellige sammenhænge (instantiering).

Design Patterns

En meget vigtig del af objektorientering er at forstå, at den problemstilling man står overfor er der sikkert andre, der har prøvet før.

Det er der andre, der har forstået som eksempelvis fire forfattere omtalt som "Gang of Four", som skrev den første og mest berømte bog om design patterns.

Det som er idéen i design patterns er, at man har fundet eksempler på design af objektorienteret kode, som er generelt og vedligeholdelsesvenligt. Disse eksempler er fundet og samlet i design patterns.

En person, som er meget aktiv i design pattern communitiet, er Martin Fowler. Han har samlet en anseelig mængde af design patterns.

Objektet i programmet

I et almindeligt objektorienteret sprog, som fx Java, er systemet opbygget af indbyrdes sammehængende objekter. Der er altid et overordnet objekt som "instantierer" et andet objekt, dvs. laver sin egen kopi af et andet objekt.

Et objekt i Java er en instans af en klasse. En klasse er en skabelon der definerer, hvordan et objekt ser ud, og består overordnet af to delelementer:

  1. Variable (instance fields)
  2. Metoder (methods)

Variable er pladser, der kan indeholde forskellige typer data. Metoder er programstumper, som kan modtage en værdi, manipulere med dele af programmet, levere en værdi tilbage osv. En metode er som regel en type algoritme.

Eksempel

Man kan forestille sig objektet SPILLEMASKINE, der har metoden INDSÆTMØNT, som tager imod objektet MØNT med variablen VÆRDI sat til 1 krone. De enkelte objekter er isoleret fra hinanden, men interagerer med hinanden.

Se også

Objektorienteret analyse og design

Aspektorienteret programmering