Objektorienteret programmering har tre grundprincipper:
# Indkapsling
#: Objektets tilstand er usynlig udefra, men dens adfærd bestemmes af en [[grænseflade (datalogi)|grænseflade]] af metoder, som omverdenen anvender (ved metodekald).
# Nedarvning
#: Klassens definitioner af variable og metoder kan udvides til at definere en ny klasse. Man siger at en ''subklasse arver fra en superklasse''. Dermed er et objekt fra subklassen også en forekomst af superklassen.
# Polymorfi
#: To subklasser med den samme superklasse, kan arve samme metode fra superklassen, men udviser forskellig adfærd, når metoden kaldes. De har hver sin implementering af metoden, og eventuelt ''overskriver'' de superklassens implementering af metoden.
Filosofi Datalogi Kommunikation Matematik