Objektorientierte Modellierung
Welches Klassenpaar steht in einer Vererbungsbeziehung?
Erklärung: 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.
Erklärung: Richtig. UML-Klassendiagramme sind der Standard für die grafische Darstellung objektorientierter Modelle mit Klassen, Attributen, Methoden und Beziehungen.
Wenn eine Methode in der Unterklasse anders implementiert wird als in der Oberklasse, spricht man von ___.
Erklärung: Überschreiben (Override) bedeutet, dass die Unterklasse eine geerbte Methode neu definiert. Z. B. überschreibt Hund die Methode sprich() mit 'Wau!'.
Was ist Polymorphie?
Erklärung: Polymorphie ('Vielgestaltigkeit') erlaubt es, z. B. die Methode zeichne() für Kreis, Rechteck und Dreieck aufzurufen – jedes Objekt reagiert passend.
Was ist eine abstrakte Klasse?
Erklärung: 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?
Erklärung: 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.
Ein Interface (Schnittstelle) enthält nur Methodensignaturen, keine Implementierung.
Erklärung: Richtig. Ein Interface definiert, WAS eine Klasse können muss, aber nicht WIE. Die implementierende Klasse liefert den konkreten Code.
Die Beziehung 'ein Hund IST EIN Tier' beschreibt in der OOP eine ___-Beziehung.
Erklärung: Die is-a-Beziehung wird durch Vererbung modelliert: Hund extends Tier. Im Gegensatz dazu beschreibt 'has-a' eine Komposition (ein Auto HAT EINEN Motor).
Welches Klassenpaar steht in einer Kompositionsbeziehung?
Erklärung: 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).
In einem UML-Klassendiagramm steht ein Minus (−) vor einem Attribut. Was bedeutet das?
Erklärung: UML-Sichtbarkeit: − = private, + = public, # = protected. Private Attribute sind nur innerhalb der eigenen Klasse zugänglich.
Ordne die OOP-Prinzipien in logischer Reihenfolge beim Modellieren.
Erklärung: 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 ein Konstruktor?
Erklärung: Der Konstruktor initialisiert ein neues Objekt mit Startwerten. Er hat in vielen Sprachen den gleichen Namen wie die Klasse.
Mehrfachvererbung (eine Klasse erbt von mehreren Oberklassen) ist in Java erlaubt.
Erklärung: Falsch. Java erlaubt keine Mehrfachvererbung von Klassen (Diamond-Problem). Stattdessen kann eine Klasse mehrere Interfaces implementieren.
Welches UML-Diagramm stellt den zeitlichen Ablauf von Methodenaufrufen zwischen Objekten dar?
Erklärung: Das Sequenzdiagramm zeigt die zeitliche Abfolge von Nachrichten (Methodenaufrufen) zwischen Objekten als Pfeile auf einer Zeitachse.
Was ist das Prinzip 'Program to an interface, not an implementation'?
Erklärung: Dieses Prinzip fördert Flexibilität: List statt ArrayList deklarieren. So kann die Implementierung leicht ausgetauscht werden, ohne den restlichen Code zu ändern.