erstellt 17.07.99; übersetzt 15.07.03; © Copyright 2003 Deutsche Übersetzung Heinrich Gailer

Quiz über abstakte Klassen und Polymorphismus

Dies ist ein Übungsquiz. Die Ergebnisse werden nirgendwo erfasst und haben keine Auswirkung auf Ihre Note. Die Fragen in diesem Quiz dürfen in keinem Quiz oder Test erscheinen, der für Ihre Benotung zählt.

Hinweise: Wählen Sie für jede Frage die beste Antwort und klicken Sie auf das entsprechende Optionskästchen. Sie können Ihre Antwort jederzeit ändern. Wenn das Quiz bewertet wird, erscheint die richtige Antwort in der Textbox nach jeder Frage.


1. Was ist eine abstrakte Klasse?

a.    Eine abstrakte Klasse ist eine Klasse ohne Subklassen.
b.    Eine abstrakte Klasse ist jede Superklasse mit mehr als einer Subklasse.
c.    Eine abstrakte Klasse ist eine Klasse, die nicht instantiiert werden kann.
d.    Abstrakte Klasse ist ein anderer Name für Basisklasse.

Die korrekte Antwort ist:


2. Was ist eine abstrakte Methode?

a.    Eine abstrakte Methode ist eine beliebige Methode in einer abstrakten Klasse.
b.    Eine abstrakte Methode ist eine Methode, die nicht geerbt werden kann.
c.    Eine abstrakte Methode ist eine Methode ohne Körper und die mit dem reservierten Wort abstract deklariert ist.
d.    Eine abstrakte Methode ist eine Methode in der Subklasse, die die Methode einer Superklasse überschreibt.

Die korrekte Antwort ist:


3. Kann eine abstrakte Klasse sowohl abstrakte Methoden als auch nicht-abstrakte Methoden definieren?

a.    Nein—sie muss entweder das eine oder das andere haben.
b.    Nein—sie darf nur abstrakte Methoden haben.
c.    Ja—aber die abstrakten Methoden werden nicht von der Subklasse geerbt.
d.    Ja—die Subklasse erbt beide.

Die korrekte Antwort ist:


4. Kann eine abstrakte Superklasse nicht-abstrakte Subklassen haben?

a.    Nein—eine abstrakte Superklasse darf nur abstrakte Subklassen haben.
b.    Nein—eine abstrakte Superklasse darf überhaupt keine Subklasse haben.
c.    Ja—alle Subklassen einer abstrakten Superklasse müssen nicht-abstrakt sein.
d.    Ja—eine abstrakte Superklasse kann sowohl abstrakte als auch nicht-abstrakte Subklassen haben.

Die korrekte Antwort ist:


5. Kann eine abstrakte Methode in einer nicht-abstrakten Klasse definiert sein?

a.    Nein—wenn eine Klasse eine abstrakte Methode definiert, muss die Klasse selbst abstrakt sein.
b.    Nein—nur Klassen sind abstrakt, nicht Methoden.
c.    Ja—eine Methode kann in einer beliebigen Superklasse als abstrakt deklariert sein, solange sie die Subklassen ebenfalls als abstrakt deklarieren.
d.    Ja—es gibt keine Beschränkungen wo abstrakte Methoden definiert werden können.

Die korrekte Antwort ist:


6. Kann ein Objekt einer Subklasse einer Variablen vom Typ der Superklasse zugewiesen werden? Zum Beispiel,

Card crd;
BirthDay bd = new BirthDay("Lucinda", 42);

crd = bd;   //  ist dies korrekt?

a.    Nein—es muss immer eine genaue Übereinstimmung zwischen der Variablen und den Objekttypen geben.
b.    Nein—aber ein Objekt vom Typ der Superklasse kann einer Variablen vom Typ der Subklasse zugewiesen werden.
c.    Ja—ein Objekt kann einer Variablen vom Typ Superklasse zugewiesen werden.
d.    Ja—jedes Objekt kann jeder Referenzvariablen zugewiesen werden.

Die korrekte Antwort ist:


7. Was ist in Java Polymorphismus?

a.    Es ist, wenn eine einzelne Variable mit mehreren verschiedenen verwandten Objekttypen an verschiedenen Stellen des Programms verwendet wird.
b.    Es ist, wenn ein Programm mehrere verschiedene Objekttypen verwendet, jeder mit seiner eigenen Variablen.
c.    Es ist, wenn eine einzelne Superklasse mehrere Subklassen hat.
d.    Es ist, wenn eine Klasse verschiedene Methoden mit dem gleichen Namen aber unterschiedlichen Parametertypen hat.

Die korrekte Antwort ist:


8. Was bestimmt in dem folgendem, welche Methode ausgeführt wird:

Card crd = new BirthDay("Lucinda", 42);

crd.greeting();

Der Typ des Objekts oder der Typ der Referenzvariablen?

a.    Der Typ des Objekts.
b.    Der Typ der Referenzvariablen?

Die korrekte Antwort ist:


9. Damit der folgende Code korrekt ist, von welchem Typ muss die Referenzvariable card sein?

_________ card;

card = new Valentine( "Joe", 14 ) ;
card.greeting();

card = new Holiday( "Bob" ) ;
card.greeting();

card = new Birthday( "Emily", 12 ) ;
card.greeting();

a.    Valentine
b.    Holiday
c.    Birthday
d.    Card

Die korrekte Antwort ist:


10. Was ist der Vorteil von Polymorphismus?

a.    Dieselbe Programmierlogik kann auf mehrere verwandte Objekttypen angewandt werden.
b.    Variablen können wiederverwendet werden um Speicher zu sparen.
c.    Das Konstruieren neuer Objekte aus alten Objekten eines ähnlichen Typs spart Zeit.
d.    Polymorphismus ist ein gefährlicher Aspekt der Vererbung und sollte vermieden werden.

Die korrekte Antwort ist:


Richtige Antworten:       in Prozent:       Bewertung:   

(Wenn Sie gerade von einer anderen Seite hierher zurückgekommen sind, oder diese Seite neu geladen haben, müssen Sie erneut auf jede Ihrer ausgewählten Antworten klicken, damit das Bewertungsprogramm korrekt arbeitet. Sie möchten vielleicht die "Umschalt"-Taste drücken, während Sie die Seite neu laden, damit die alten Antworten gelöscht werden.