übersetzt 15.07.2003; überarbeitet 02.02.04, 06.03.04, 21.02.05, 07.07.06, 25.01.11; Deutsche Übersetzung Heinrich Gailer


Quiz über Vererbung

Das 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: Entscheiden Sie sich bei jeder Frage für die beste Antwort. Klicken Sie dann auf das entsprechende Optionskästchen, um diese Antwort auszuwählen. Sie können Ihre Antwort jederzeit ändern. Sobald das Quiz bewertet wird, erscheint die richtige Antwort in der Textbox unterhalb der Frage.


1. Welche Art von Vererbung hat Java?

a. Einfachvererbung
b. Doppelvererbung
c. Mehrfachvererbung
d. Klassenvererbung


2. Angenommen es gibt drei Klassen: Computer, AppleComputer und IBMComputer. Wie sieht wahrscheinlich die Beziehung zwischen diesen Klassen aus?

a. Computer ist die Superklasse, AppleComputer und IBMComputer sind Subklassen von Computer.
b. IBMComputer ist die Superklasse, AppleComputer und Computer sind Subklassen von IBMComputer.
c. Computer, AppleComputer und IBMComputer sind Geschwisterklassen.
d. Computer ist eine Superklasse, AppleComputer ist eine Subklasse von Computer und IBMComputer ist eine Subklasse von AppleComputer.


3. Kann ein Objekt die Subklasse eines anderen Objekts sein?

a. Ja — solange die Einfachvererbung beachtet wird.
b. Nein — Vererbung gibt es nur zwischen Klassen.
c. Nur wenn das eine in den Begriffen des anderen definiert wurde.
d. Ja — wenn ein Objekt im Konstruktor des anderen verwendet wird.


4. Wie viele Objekte einer gegebenen Klasse kann es in einem Programm geben?

a. Eines pro definierter Klasse.
b. Eines pro Konstruktordefinition.
c. So viele, wie das Programm benötigt.
d. Eines pro main() Methode.


5. Welche Beschränkung gibt es bei der Verwendung des Schlüsselwortes super in einem Konstruktor?

a. Es kann nur im Konstruktor der Superklasse verwendet werden.
b. Es kann nur von einer Subklasse verwenden werden.
c. Es muss als letzte Anweisung des Konstruktors verwendet werden.
d. Es muss als erste Anweisung des Konstruktors verwendet werden.


6. Eine neue Klasse GingerAle soll basierend auf der Superklasse SoftDrink abgeleitet werden. Welche der folgenden Anweisungen ist syntaktisch korrekt?

a. class GingerAle isa SoftDrink { //weitere Definitionen kommen hier }
b. class GingerAle implements SoftDrink { //weitere Definitionen kommen hier }
c. class GingerAle defines SoftDrink { //weitere Definitionen kommen hier }
d. class GingerAle extends SoftDrink { //weitere Definitionen kommen hier }


7. Sowohl die Klasse Auto als auch ihre Subklasse Polo haben eine Methode anzeigen(), die vom Programmierer als Teil der Klassendefinition geschrieben wurde. Wenn die Referenzvariable rostlaube auf ein Objekt vom Typ Polo verweist, was wird dann der folgende Code tun?

rostlaube.anzeigen();
a. Die anzeigen() Methode, die in Polo definiert ist, wird aufgerufen.
b. Die anzeigen() Methode, die in Auto definiert ist, wird aufgerufen.
c. Der Compiler wird sich beschweren, dass anzeigen() zweimal definiert wurde.
d. Überladen wird verwendet, um zu bestimmen, welche anzeigen() Methode aufgerufen wurde.


8. Eine Klasse Tier hat eine Subklasse Saeugetier. Welche der folgenden Aussagen ist wahr:

a. Auf Grund der Einfachvererbung kann Saeugetier keine Subklassen haben.
b. Auf Grund der Einfachvererbung kann Saeugetier keine andere Superklasse haben als Tier.
c. Auf Grund der Einfachvererbung kann Tier nur eine Subklasse haben.
d. Auf Grund der Einfachvererbung kann Saeugetier keine Geschwisterklassen haben.


9. Erbt eine Subklasse sowohl Variablen als auch Methoden?

a. Nein — nur die Variablen werden geerbt.
b. Nein — nur Methoden werden geerbt.
c. Ja — sowohl Variablen als auch Methoden werden geerbt.
d. Ja — aber es wird entweder nur das Eine oder das Andere geerbt.


10. Welches der folgenden ist KEIN Vorteil bei der Verwendung von Vererbung?

a. Code, der von Klassen geteilt wird, muss nur einmal geschrieben werden.
b. Ähnliche Klassen können so erstellt werden, dass sie sich konsistent verhalten.
c. Verbesserung der Basisklasse wird automatisch in den abgeleiteten Klassen wirksam.
d. Eine große Superklasse kann verwendet werden, anstelle vieler kleiner Klassen.


Richtige Antworten:       in Prozent:       Bewertung:   


Inhalt (Sollten Sie gerade von einer anderen Seite hierher zurückgekommen sein oder diese Seite neu geladen haben, kann es sein, dass Sie erneut auf jede Ihrer ausgewählten Antworten klicken müssen, damit das Bewertungsprogramm korrekt arbeitet.)

Um die alten Antworten zu löschen, halten Sie die Strg-Taste gedrückt und laden dann die Seite neu (Firefox). Bei anderen Browsern funktioniert das in Verbindung mit der Umschalt- bzw. Strg+Umschalt-Taste. Beim Internet Explorer 8 muss die Seite verlassen und erneut aufgerufen werden.