Font size
WorksheetsDelegation vs Abstraktion
Total questions: 8
Worksheet time: 4mins
Was ist das Kernprinzip der Delegation in der Softwareentwicklung?
Eine Subklasse übernimmt automatisch alle Methoden einer Superklasse durch das Keyword extends
Ein Objekt leitet eine Aufgabe an ein anderes Objekt weiter, indem es dessen Methoden aufruft.
Alle Methoden einer Klasse werden als static markiert, damit sie global verfügbar sind.
Die automatische Umwandlung von Datentypen zur Laufzeit (Casting)
Was versteht man unter „dynamischem Polymorphismus“ (Vielgestaltigkeit)?
Dass eine Methode innerhalb derselben Klasse mehrfach mit unterschiedlichen Parametern definiert wird (Überladen).
Dass der Quellcode während der Laufzeit automatisch in eine andere Programmiersprache übersetzt wird.
Dass Attribute in einer Klasse sowohl public als auch private gleichzeitig sein können.
Dass jede Subklasse ein spezialisiertes Verhalten aufzeigt, indem z.Bsp. eine Methode überschrieben wird.
Class Spider extends Animal.
Welche Deklarationen sind korrekt ?
Spider s = new Spider ();
Animal a = new Animal();
Spider s = new Animal();
Animal a = new Spider();
Welche der folgenden Aussagen über Interfaces in Java ist korrekt?
Eine Klasse kann in Java, genau wie bei der Vererbung, nur maximal ein Interface implementieren.
Interfaces werden genutzt, um Objekte direkt zu instanziieren, falls die Hauptklasse zu groß ist.
Attribute, die in einem Interface definiert werden, sind automatisch public, static und final (Konstanten).
Das Keyword extends wird verwendet, damit eine Klasse die Methoden eines Interfaces übernimmt.
Welches dieser Elemente kann nicht weiter vererbt werden ?
Wie kann ich sicherstellen, dass eine Methode nicht überschrieben werden kann ? Welches keyword verwende ich in Java ?
static
dont-touch
immutable
final
Welche Aussage beschreibt einen korrekten Unterschied zwischen einer abstrakten Klasse und einem Interface in Java?
Eine Klasse kann von mehreren abstrakten Klassen gleichzeitig erben, aber nur ein Interface implementieren.
Interfaces werden mit dem Keyword extends in eine Klasse eingebunden, während für abstrakte Klassen implements verwendet wird.
Abstrakte Klassen können Konstruktoren und Instanzvariablen besitzen, während Interfaces primär Methodendeklarationen enthalten
Von einer abstrakten Klasse können direkt Objekte instanziiert werden, von einem Interface hingegen nicht.
Dynamic binding bedeutet ....
.... welche Methode verwendet wird, wird beim Kompilieren entschieden
..... private Methoden werden aufgerufen
..... welche Methode aufgerufen wird, wird zu Laufzeit entschieden
..... der Kompiler entscheidet, welche überladene Methode aufgerufen wird
