‹ Informatik

Objektorientierung

Objektorientierung verständlich erklärt: Bedeutung, Beispiele und Anwendung in Programmierung, Objektorientierung und Softwareprojekten.

Wenn du in einem Spiel eine Figur steuerst, hat sie vielleicht einen Namen, Lebenspunkte und bestimmte Fähigkeiten. Bei einer Schul-App gibt es Lernende, Aufgaben und Ergebnisse. Mit Objektorientierung kannst du solche Dinge im Programm übersichtlich nachbilden.

Deine Lernziele
  • Du erklärst den Grundgedanken der Objektorientierung.
  • Du unterscheidest Klasse und Objekt.
  • Du erkennst Attribute und Methoden.
  • Du verstehst Kapselung, Vererbung und Polymorphie an einfachen Beispielen.

Programme als Zusammenarbeit von Dingen

Objektorientierung ist eine Art zu programmieren. Dabei ordnest du ein Programm in Dinge, die Daten speichern und Aufgaben erledigen. Diese Dinge heißen Objekte.

Ein Objekt steht oft für etwas aus der Aufgabe: zum Beispiel für einen Schüler, ein Buch, einen Spielcharakter oder einen Warenkorb. Es kennt passende Informationen und kann passende Aktionen ausführen.

Beispiel

In einer Schul-App könnte ein Objekt Schueler den Namen Mia und die Klasse 7b speichern. Es kann außerdem eine Aufgabe abgeben oder seinen Punktestand anzeigen.

Merke

Ein Objekt bündelt Informationen und passende Aktionen an einer Stelle.

Interaktive Quizfrage wird geladen ...

Klassen sind Baupläne

Viele Dinge gehören zur gleichen Sorte. Statt jedes einzelne Objekt ganz neu zu beschreiben, legst du einen Bauplan fest. Dieser Bauplan heißt Klasse.

Aus einer Klasse entstehen konkrete Objekte. Ein konkretes Objekt aus einer Klasse heißt auch Instanz. Die Klasse Schueler ist also der Bauplan. Mia und Ben sind zwei verschiedene Instanzen davon.

Beispiel

Die Klasse Fahrrad beschreibt Fahrräder allgemein. Sie legt fest, dass ein Fahrrad eine Farbe und eine Gangzahl haben kann.

Das Objekt meinRad könnte blau sein und 7 Gänge haben. Das Objekt paulasRad könnte rot sein und 21 Gänge haben. Beide folgen demselben Bauplan, haben aber eigene Werte.

Interaktiver Lückentext wird geladen ...

Interaktive Quizfrage wird geladen ...

Attribute und Methoden

Ein Objekt braucht Informationen über sich selbst. Solche gespeicherten Eigenschaften heißen Attribute. Ein Attribut kann zum Beispiel ein Name, eine Farbe oder eine Punktzahl sein.

Ein Objekt kann auch etwas tun. Eine Aktion, die zu einer Klasse gehört, heißt Methode. Eine Methode liest oder verändert oft Attribute.

Beispiel

Ein Objekt der Klasse Spieler hat die Attribute Name und Punkte.

Die Methode punkteHinzufuegen erhöht die Punktzahl. Die Methode zeigePunktestand gibt die aktuelle Punktzahl aus.

Gut zu wissen

Attribute beantworten oft die Frage: „Wie ist das Objekt gerade?“ Methoden beantworten oft die Frage: „Was kann das Objekt tun?“

Interaktive Lernkarten wird geladen ...

Interaktive Quizfrage wird geladen ...

Kapselung schützt wichtige Daten

Du möchtest nicht, dass jedes andere Programmteil einfach den Kontostand oder die Note verändern kann. Deshalb fasst ein Objekt seine Daten und Methoden zusammen und legt fest, welche Zugriffe erlaubt sind. Das heißt Kapselung.

Andere Teile des Programms sollen nicht wissen müssen, wie ein Objekt intern arbeitet. Die sichtbaren und erlaubten Möglichkeiten zur Nutzung heißen Schnittstelle. Sie benutzen nur diese vorgesehenen Methoden.

Beispiel

Ein Objekt Bankkonto speichert seinen Kontostand geschützt. Die Methode einzahlen gehört zu seiner Schnittstelle. Ein anderes Programmteil darf also einzahlen aufrufen, aber den Kontostand nicht direkt beliebig ändern.

Die Methode kann prüfen, ob der Betrag größer als null ist. So verhindert das Objekt unsinnige Änderungen.

Merke

Kapselung bedeutet: Daten nicht beliebig von außen ändern, sondern sichere Wege über Methoden anbieten.

Interaktiver Lückentext wird geladen ...

Interaktive Quizfrage wird geladen ...

Vererbung spart gemeinsame Arbeit

Manchmal haben Klassen viel gemeinsam. Vererbung bedeutet: Eine neue Klasse übernimmt Eigenschaften und Methoden einer vorhandenen Klasse.

Die vorhandene allgemeinere Klasse heißt Oberklasse. Die neue speziellere Klasse heißt Unterklasse. Die Unterklasse darf zusätzliche Attribute und Methoden bekommen oder eine übernommene Methode passend verändern.

Beispiel

Die Oberklasse Tier hat ein Attribut Name und eine Methode bewegen.

Die Unterklasse Hund übernimmt beides und erhält zusätzlich die Methode bellen. Die Unterklasse Fisch übernimmt ebenfalls Name und bewegen, bewegt sich aber schwimmend.

Gut zu wissen

Vererbung passt, wenn eine Unterklasse wirklich eine besondere Form der Oberklasse ist. Ein Hund ist ein Tier. Ein Fahrrad ist aber kein Tier.

Interaktive Quizfrage wird geladen ...

Polymorphie: gleicher Auftrag, verschiedene Umsetzung

Polymorphie bedeutet Mehrgestaltigkeit. Verschiedene Objekte können denselben Methodenauftrag erhalten, reagieren aber auf ihre eigene Weise.

Das ist praktisch, weil dein Programm nicht jede Sorte einzeln abfragen muss. Es kann zum Beispiel vielen Tieren denselben Auftrag geben: lautGeben.

Beispiel

Ein Objekt Hund reagiert auf lautGeben mit Bellen. Ein Objekt Katze reagiert auf denselben Auftrag mit Miauen.

Das Programm kann beide Objekte in einer Liste verwalten und jeweils lautGeben aufrufen. Jedes Objekt führt die passende eigene Variante aus.

Merke

Polymorphie heißt nicht: Alle Objekte tun dasselbe. Sie bekommen denselben Auftrag und dürfen ihn unterschiedlich erfüllen.

Interaktive Quizfrage wird geladen ...

Objektorientierung sinnvoll einsetzen

Objektorientierung hilft besonders, wenn ein Programm viele Dinge mit eigenem Zustand und eigenen Aufgaben enthält. Dazu passen Spiele, Schul-Apps oder Verwaltungssysteme.

Sie ist aber kein Zwang. Für eine kleine Rechnung oder ein kurzes Skript kann eine einfache Funktion klarer sein. Gute Programmierung wählt die Struktur, die das Problem verständlich löst.

Beispiel

In einem Vokabeltrainer können Objekte wie Lernkarte, Lernende und Lernrunde sinnvoll sein. Jede Lernkarte kennt Frage und Antwort. Eine Lernrunde kann Karten anzeigen und Ergebnisse speichern.

Gut zu wissen

Gute Klassen bleiben überschaubar. Gib einer Klasse eine klare Aufgabe, statt alles in eine riesige Klasse zu packen.

Zusammenfassung

Objektorientierung ordnet Programme in Objekte. Eine Klasse ist der Bauplan, ein Objekt ist eine konkrete Instanz. Attribute speichern Eigenschaften, Methoden führen Aktionen aus.

Kapselung schützt interne Daten und bietet sichere Schnittstellen. Vererbung nutzt gemeinsame Eigenschaften wieder. Polymorphie erlaubt unterschiedliche Reaktionen auf denselben Auftrag. So kannst du Programme oft klarer planen und leichter erweitern.