Objektorientierung — Klasse, Objekt und die vier Grundprinzipien
Die Prüfung fragt selten Syntax, sondern Begriffe: Was ist der Unterschied zwischen Klasse und Objekt, und welches Prinzip steckt hinter welchem Stichwort?
Basiswissen, das vorausgesetzt wird
- Datentypen: ganzzahlig (
int), Gleitkomma (double), Wahrheitswert (boolean), Zeichen (char), Text (Stringals Objekt). - Kontrollstrukturen: Verzweigung (
if/else,switch), Schleifen (formit Zähler,whilemit Bedingung,do-whilemindestens einmal). - Variablen und Gültigkeit: lokal (nur im Block), Attribut (im ganzen Objekt), statisch (einmal für die Klasse).
- Operatoren: Zuweisung, Vergleich, Logik (UND/ODER/NICHT), Kurzschlussauswertung.
Klasse und Objekt
Die Klasse ist der Bauplan — sie beschreibt Attribute (Daten) und Methoden (Verhalten). Das Objekt ist ein konkretes Exemplar, das im Speicher existiert.
Beispiel: Kunde ist die Klasse; ein Kunde mit der Kundennummer 4711 ist ein Objekt davon. Aus einer Klasse entstehen beliebig viele Objekte, jedes mit eigenen Attributwerten.
Die vier Grundprinzipien
| Prinzip | Bedeutung | Nutzen |
|---|---|---|
| Kapselung | Daten sind private, Zugriff nur über Methoden (Getter/Setter) | kontrollierte Änderungen, Inneres bleibt austauschbar |
| Vererbung | Eine Klasse übernimmt Eigenschaften einer Oberklasse | Wiederverwendung, „ist ein"-Beziehung |
| Polymorphie | Gleicher Methodenaufruf, unterschiedliche Umsetzung je Klasse | einheitliche Schnittstelle, erweiterbar |
| Abstraktion | Nur das Wesentliche modellieren, Details verbergen | Übersicht, klare Zuständigkeiten |
Konstruktor, Überladung, Überschreiben
- Konstruktor: heißt wie die Klasse, legt das Objekt an, hat keinen Rückgabetyp.
- Überladen (Overloading): gleicher Name, andere Parameterliste — entschieden zur Übersetzungszeit.
- Überschreiben (Overriding): Unterklasse ersetzt die Methode der Oberklasse — entschieden zur Laufzeit (das ist die Polymorphie).
Schnittstelle gegen abstrakte Klasse
| Interface | abstrakte Klasse | |
|---|---|---|
| Eigene Attribute | nein (nur Konstanten) | ja |
| Implementierung | keine (bzw. nur Standardmethoden) | teilweise möglich |
| Mehrfach nutzbar | mehrere Interfaces möglich | nur eine Oberklasse |
| Wann | reine Fähigkeit („kann verglichen werden") | gemeinsame Basis mit Code |
Fehlerbehandlung
Laufzeitfehler werden als Ausnahmen (Exceptions) behandelt: try umschließt den kritischen Code, catch fängt sie, finally läuft in jedem Fall (z. B. Ressourcen freigeben). Unterschieden werden geprüfte Ausnahmen (müssen behandelt werden) und ungeprüfte (Programmierfehler wie Nullzugriff).
Typische Prüfungsfallen
- Klasse und Objekt verwechseln — die häufigste Definitionsfrage.
- Überladen und Überschreiben gleichsetzen — unterschiedliche Mechanismen.
- Vererbung falsch begründen: nur bei „ist ein", nicht bei „hat ein".
- Getter/Setter als Kapselung ohne Kontrolle: Wenn der Setter jeden Wert annimmt, ist wenig gewonnen — Prüfungen gehören hinein.
Weiter üben
Das Grundlagenwissen steht hier frei — geübt wird in der Lernplattform: über 1.300 Prüfungsfragen mit ausführlicher Erklärung zu jeder Antwort, Fortschritt im eigenen Konto.
Passende Videos
Externer Inhalt, geöffnet in einem neuen Tab. Keine Einbettung — solange du nicht selbst klickst, werden keine Daten an YouTube übertragen.