Zum Inhalt springen
YellowBlue
IT-Grundlagen4 Min. Lesezeit

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 10

Die drei Prinzipien der OOP

Drei Konzepte machen den Kern der objektorientierten Programmierung aus:

PrinzipBedeutung
KapselungDaten sind im Objekt geschützt; Zugriff nur über festgelegte Methoden
Vererbungeine Klasse übernimmt Eigenschaften einer anderen und erweitert sie
Polymorphiedieselbe 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.

Schlagwörter

Verwandte Beiträge

IT-Grundlagen3 Min. Lesezeit

Vererbung und Polymorphie in der OOP

Wie Klassen in der OOP Eigenschaften vererben, was Überschreiben bedeutet und wie Polymorphie denselben Aufruf je nach Objekt unterschiedlich wirken lässt.

IT-Grundlagen4 Min. Lesezeit

Fehlerbehandlung mit Exceptions

Wie Programme mit Fehlern umgehen, ohne abzustürzen: try-catch-finally, was eine Exception ist und warum man erwartbare Fehler gezielt behandelt.

IT-Grundlagen3 Min. Lesezeit

Rekursion: wenn sich eine Funktion selbst aufruft

Wie Rekursion funktioniert, warum jede rekursive Funktion eine Abbruchbedingung braucht und wann Rekursion sinnvoller ist als eine Schleife.