Objektorienteret programmering
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 "Firebanden", 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 sammenhæ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:
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 isolerede fra hinanden, men interagerer med hinanden.