Objekt orienteret programmering er når du "bygger" en bil ud af klasser og instanser.
Idéen med OOP er at hver klasse har sin helt egen funktion, og den funktion som klassen har, det gør den helt ekseptionelt godt.
F.eks. har du en klasse til database kommunikation har denne klasse til opgave at kommunikere med databasen - og den opgave skal klassen klare til et 12-tal. Når man så har en klasse der klarer sin opgave helt perfekt, behøver man jo så ikke længere at skrive ny funktionel kode, men i stedet kan man bruge klassen.
Det giver så nogle udfordringer i forhold til hvordan man designer sin kode. Det er her design patterns kommer ind, og egentlig er det nok det OOP handler om. Men design patterns kan være relativt kryptiske, og er man ikke vant til at opdele sin kode, så er MVC- eller 3-lags modellen ret så avanceret (især fordi der ikke er nogen entydig definition på hvad M'et i modellen dækker over).
Mange gange kan man overføre hverdagsting til OOP. Så som den førnævnte bil. Bilen er konstruereret af en række komponenter (objekter): hjul, rat, motor, chassis, mm. Hvert objekt er så en instans af en klasse, hvor klasserne er beskrivelser af objekterne.
Håber det giver mening.