OOP-Grundlagen: Klasse, Objekt, Prinzipien
Kurzantwort
Objektorientierte Programmierung (OOP) modelliert ein Programm als Zusammenspiel von Objekten – etwa ein Auto oder ein Kunde. Eine Klasse ist der Bauplan, ein Objekt ein konkretes Exemplar davon. Objekte bündeln zusammengehörige Daten (Attribute) und Funktionen (Methoden). Die drei Grundprinzipien der OOP sind Kapselung, Vererbung und Polymorphie.
Teil des Lernpfads Programmieren und Softwareentwicklung · Schritt 9 von 18
Ab einer gewissen Größe wird Programmcode unübersichtlich – Daten hier, Funktionen dort, alles hängt mit allem zusammen. Die objektorientierte Programmierung bringt Ordnung hinein, indem sie die Welt so nachbildet, wie wir sie ohnehin denken: als Dinge mit Eigenschaften und Fähigkeiten.
Was ist objektorientierte Programmierung?
Objektorientierte Programmierung (OOP) ist eine Art, Programme zu strukturieren, indem man sie aus Objekten zusammensetzt. Ein Objekt steht für ein Ding aus der realen oder gedachten Welt – ein Auto, einen Kunden, ein Konto – und bündelt alles, was zu diesem Ding gehört.
Klasse und Objekt – der Unterschied
Der wichtigste Begriffsunterschied der OOP:
- Eine Klasse ist der Bauplan. Sie beschreibt, welche Eigenschaften und Fähigkeiten ein Ding dieser Art hat – aber sie ist selbst noch nichts Konkretes.
- Ein Objekt ist ein konkretes Exemplar dieser Klasse, nach dem Bauplan erzeugt.
Ein Objekt hat Attribute (seine Daten, letztlich Variablen) und Methoden (seine Funktionen). In Pseudocode:
Klasse Auto:
Attribut farbe
Attribut tempo
Methode beschleunigen():
tempo = tempo + 10
// Ein konkretes Objekt nach diesem Bauplan:
meinAuto = neues Auto()
meinAuto.farbe = "rot"
meinAuto.beschleunigen() // tempo steigt um 10Die drei Prinzipien der OOP
Drei Konzepte machen den Kern der objektorientierten Programmierung aus:
| Prinzip | Bedeutung |
|---|---|
| Kapselung | Daten sind im Objekt geschützt; Zugriff nur über festgelegte Methoden |
| Vererbung | eine Klasse übernimmt Eigenschaften einer anderen und erweitert sie |
| Polymorphie | dieselbe Methode verhält sich je nach Objekt unterschiedlich |
Warum ist das nützlich?
Selbstkontrolle
Selbstkontrolle
Wie verhalten sich Klasse und Objekt zueinander?
Häufige Fragen
Was ist der Unterschied zwischen Attribut und Methode?
Ein Attribut ist eine Eigenschaft eines Objekts, also ein gespeicherter Wert – etwa die Farbe eines Autos. Eine Methode ist eine Fähigkeit, also eine Funktion, die das Objekt ausführen kann – etwa beschleunigen. Attribute sagen, was ein Objekt ist, Methoden, was es tun kann.
Was bedeutet Kapselung genau?
Kapselung heißt, dass ein Objekt seine Daten nach außen abschirmt und den Zugriff nur über festgelegte Methoden erlaubt. So kann kein anderer Programmteil die Daten unkontrolliert verändern. Das schützt vor Fehlern und macht klar, wie ein Objekt benutzt werden soll.
Wozu dient Vererbung?
Vererbung erlaubt es, eine neue Klasse auf einer bestehenden aufzubauen. Die neue Klasse übernimmt deren Attribute und Methoden und ergänzt oder verändert sie. So vermeidet man Wiederholung: Gemeinsames steht einmal in der Oberklasse, Besonderheiten in den abgeleiteten Klassen.
Ist jede Programmiersprache objektorientiert?
Nein. Es gibt verschiedene Programmierparadigmen, etwa die prozedurale oder die funktionale Programmierung. Viele verbreitete Sprachen wie Java, Python oder C++ unterstützen die objektorientierte Programmierung, oft neben anderen Ansätzen. Welches Paradigma sinnvoll ist, hängt von der Aufgabe ab.
Weiterlesen: Fehlerbehandlung mit Exceptions · Datenstrukturen: Array, Liste, Stack und Queue · Softwaretests: von Unit-Test bis Abnahme
Das Wichtigste in Kürze
- OOP baut Programme aus Objekten, die Daten und Verhalten bündeln.
- Eine Klasse ist der Bauplan, ein Objekt ein konkretes Exemplar davon.
- Objekte haben Attribute (Eigenschaften) und Methoden (Fähigkeiten).
- Die drei Prinzipien sind Kapselung, Vererbung und Polymorphie.