Ein UML-Klassendiagramm beschreibt ein System als Bauplan — Klassen mit Assoziationen, Kardinalitäten, Vererbung und Polymorphie — vor der Implementierung und unabhängig von ihr. Die Kernkompetenz ist das Abwägen von Modellierungsalternativen, vor allem die saubere Trennung von Vererbung („ist ein") und Assoziation („hat ein / kennt ein"), die dokumentierte Verwechslungsstelle. Erst mit Überschreiben und dynamischer Bindung bekommen die Entwurfsentscheidungen im Diagramm ihre Bedeutung.
Welches Klassenpaar steht in einer Vererbungsbeziehung?
○ Kunde und Konto
● Girokonto und Konto
○ Buchung und Konto
Vererbung ist eine „ist-ein“-Beziehung: Ein Girokonto IST EIN Konto und übernimmt dessen Attribute und Methoden (z. B. kontostand, einzahlen()). Ein Kunde HAT ein Konto (Assoziation), und eine Buchung GEHÖRT ZU einem Konto (Ganzes-Teil-Beziehung) – beides ist keine Vererbung.
Ein UML-Klassendiagramm zeigt Klassen, ihre Attribute, Methoden und Beziehungen.
✓ Wahr
Richtig. UML-Klassendiagramme sind der Standard für die grafische Darstellung objektorientierter Modelle mit Klassen, Attributen, Methoden und Beziehungen.
Die Beziehung 'ein Hund IST EIN Tier' beschreibt in der OOP eine ___-Beziehung.
✓ Antwort: is-a
Die is-a-Beziehung wird durch Vererbung modelliert: Hund extends Tier. Im Gegensatz dazu beschreibt 'has-a' eine Komposition (ein Auto HAT EINEN Motor).
● Eine Klasse, von der keine Objekte erzeugt werden können und die als Vorlage dient
○ Eine besonders schwierige Klasse
○ Eine Klasse ohne Attribute
Abstrakte Klassen definieren eine Schnittstelle, die Unterklassen implementieren müssen. Man kann kein Objekt direkt von einer abstrakten Klasse erzeugen.
Klasse Thermometer: Welche Variante ist korrekt gekapselt?
○ public double temp; public double getTemp()
○ private double temp; private double getTemp()
● private double temp; public double getTemp()
Kapselung heißt: Der interne Zustand ist verborgen (private) und nur über öffentliche Methoden zugänglich. Ein public-Attribut kann jeder direkt ändern; sind auch die Methoden private, kommt niemand mehr an den Wert heran.
Welches Klassenpaar steht in einer Kompositionsbeziehung?
○ Playlist und Song
● Bestellung und Bestellposition
○ Hörbuch und Medium
Bei einer Komposition existiert das Teil nicht ohne das Ganze: Wird die Bestellung gelöscht, verschwinden ihre Positionen mit. Ein Song existiert auch ohne Playlist (Aggregation). Hörbuch und Medium bilden keine Teil-Ganzes-Beziehung, sondern eine Vererbung (ein Hörbuch IST EIN Medium).
Ordne die OOP-Prinzipien in logischer Reihenfolge beim Modellieren.
✓ Antwort: Klassen und Attribute identifizieren, Vererbungshierarchie festlegen, Methoden und Schnittstellen definieren, Kapselung anwenden (private/public)
Beim OO-Entwurf: zuerst Objekte der realen Welt als Klassen modellieren, dann Gemeinsamkeiten durch Vererbung abstrahieren, dann Verhalten festlegen und schließlich Zugriff regeln.
Was ist das Prinzip 'Program to an interface, not an implementation'?
○ Man soll nur Interfaces programmieren
● Man soll Variablen mit dem abstraktesten Typ deklarieren, nicht mit konkreten Klassen
○ Man soll keine Klassen verwenden
○ Interfaces sind überflüssig
Dieses Prinzip fördert Flexibilität: List statt ArrayList deklarieren. So kann die Implementierung leicht ausgetauscht werden, ohne den restlichen Code zu ändern.