Objektorientierung (auch objektorientierte Programmierung, OOP) ist ein Programmierparadigma, bei dem Software aus Objekten aufgebaut wird. Ein Objekt bündelt Daten (Attribute) und die dazugehörigen Funktionen (Methoden) zu einer Einheit. Statt den Programmablauf als Liste von Befehlen zu schreiben, beschreibt man die Welt als Zusammenwirken von Objekten.
Die vier Grundprinzipien
- Kapselung: Daten sind innerhalb eines Objekts geschützt und nur über definierte Methoden erreichbar. So bleibt der innere Zustand konsistent.
- Vererbung: Eine Klasse kann Eigenschaften und Methoden an Unterklassen weitergeben. Das vermeidet doppelten Code und bildet Hierarchien ab.
- Polymorphismus: Derselbe Methodenname kann in verschiedenen Klassen unterschiedlich umgesetzt sein. Der Aufrufer nutzt eine gemeinsame Schnittstelle, ohne die Details zu kennen.
- Abstraktion: Nur die wesentlichen Eigenschaften eines Objekts werden nach außen gezeigt, unwichtige Details bleiben verborgen.
Klasse und Objekt
Eine Klasse ist der Bauplan, ein Objekt die konkrete Ausprägung. In Python erzeugt man eine Klasse mit class und ein Objekt durch Aufruf der Klasse:
class Auto:
def __init__(self, marke):
self.marke = marke
mein_auto = Auto("VW")
print(mein_auto.marke)
Warum Objektorientierung?
Objektorientierter Code ist bei größeren Projekten besser wartbar und erweiterbar. Vererbung reduziert Redundanz, Kapselung schützt vor versehentlichen Fehlern. Auch Interfaces und Entwurfsmuster bauen auf diesen Prinzipien auf. Bekannte objektorientierte Sprachen sind Java, C#, Python und C++ — die Syntax der gängigen Java-Befehle und Python-Befehle zeigt die jeweilige Schnellreferenz.