In diesem Artikel wird die Objektorientierung aus verschiedenen Sichten definiert. Dies aus der Tatsache heraus, dass letztendlich über die Gewichtung der einzelnen Aspekte der konkrete Anwendungsfall entscheidet. Ein allgemein üblicher Nenner definiert Objektorientierung mit den Punkten Objektbasierung, Klassenbasierung und dem Vererbungsmechanismus.
Objektorientierung beinhaltet:
- Objektbasierung, d.h. Kapselung von Attributen,
- Klassenbasierung durch Mengenabstraktion, d.h. die gemeinsame Modellierung gleichartiger Objekte in Form einer Klasse, und
- Vererbung, also die Weitergabe von Attributen zwischen Klassen.
Ein objektorientiertes Programm ist die Sammlung autonom agierender Agenten, genannt Objekte. Die Berechnung schreitet durch die Interaktion der Objekte fort. Dabei werden als Hauptkomponenten Objekte und deren Kommunikation untereinander identifiziert und die Vererbung spielt eine untergeordnete Rolle.
Objektorientierte Systeme sind objektbasiert, klassenbasiert, unterstützen Vererbung zwischen Klassen und Elternklassen und erlauben Objekten das Versenden von Botschaften untereinander. Hier liegt der Aspekt auf der Vererbung und der Abstraktion von Objekten durch Klassen.
Zusammenfassend unterstützt eine objektorientierte Programmiersprache:
- eine objektbasierte, modulare Struktur,
- Datenabstraktion,
- automatische Speicherplatzverwaltung,
- Klassen (als Typen),
- Vererbung,
- Polymorphie und dynamisches Binden sowie
- Mehrfaches und wiederholtes Erben.