Objektorientierte Programmierung

Object-Oriented Programming

Informatik Klasse 9 18 Aufgaben
InformatikProgrammierungOOPKlassenVererbung

In der objektorientierten Programmierung werden Gegenstände zu Klassen abstrahiert, die Attribute und Methoden deklarieren; Generalisierungshierarchien entstehen durch Vererbung und Überschreiben. Der tragende Unterschied: Die Klasse ist der Bauplan, das Objekt das konkrete Exemplar mit eigenem Zustand — zwei Objekte derselben Klasse teilen die Methoden, nicht die Attributwerte. Methodenrümpfe mit Kontrollstrukturen zu implementieren heißt, Zustand gezielt zu verändern (Hubwiesers Objects-first-Ansatz).

Leicht
Multiple Choice #1 10s â–¶ Testen

Welche Zeile erzeugt ein Objekt?

  • â—‹ class Hund { String name; }
  • â—‹ String name;
  • â—Ź Hund bello = new Hund("Bello");
Die Klasse ist der Bauplan (class Hund { … }), ein Objekt ist eine konkrete Instanz davon – erzeugt mit new. String name; deklariert nur ein Attribut.
LĂĽckentext #2 10s â–¶ Testen

Die Eigenschaften eines Objekts (z. B. Name, Alter) heiĂźen ___.

âś“ Antwort: Attribute
Attribute speichern den Zustand eines Objekts. Jedes Objekt hat konkrete Werte fĂĽr seine Attribute.
LĂĽckentext #3 10s â–¶ Testen

Die Fähigkeiten oder Aktionen eines Objekts (z. B. fahren(), bremsen()) heißen ___.

âś“ Antwort: Methoden
Methoden definieren das Verhalten eines Objekts und können dessen Zustand (Attributwerte) verändern.
Multiple Choice #4 15s â–¶ Testen

Was ist ein Konstruktor?

  • â—‹ Eine Methode zum Löschen eines Objekts
  • â—Ź Eine spezielle Methode, die beim Erzeugen eines Objekts aufgerufen wird und Anfangswerte setzt
  • â—‹ Ein Attribut einer Klasse
  • â—‹ Ein Datentyp
Der Konstruktor initialisiert ein neues Objekt, z. B. setzt er die Anfangswerte der Attribute.
Multiple Choice #5 10s â–¶ Testen

Welche Zeile ist ein Methodenaufruf?

  • â—Ź lampe1.einschalten();
  • â—‹ void einschalten() { an = true; }
  • â—‹ boolean an;
Die Methodendefinition beschreibt, was die Methode tut (void einschalten() { … }); der Aufruf lampe1.einschalten(); führt sie für ein bestimmtes Objekt aus. boolean an; deklariert ein Attribut.
LĂĽckentext #6 10s â–¶ Testen

Eine Variable, die nur innerhalb einer Methode gĂĽltig ist, heiĂźt ___ Variable.

âś“ Antwort: lokale
Lokale Variablen existieren nur während der Ausführung der Methode. Attribute hingegen gehören zum Objekt und bestehen, solange das Objekt existiert.
Multiple Choice #7 15s â–¶ Testen

Was ist eine Wertzuweisung?

  • â—‹ Das Vergleichen zweier Werte
  • â—Ź Das Speichern eines Werts in einer Variable (z. B. alter = 15)
  • â—‹ Das Löschen einer Variable
  • â—‹ Das Erstellen einer neuen Klasse
Eine Wertzuweisung weist einer Variable einen neuen Wert zu: variable = ausdruck. Dies ändert den Zustand.
Multiple Choice #8 15s â–¶ Testen

Welche Kontrollstruktur wiederholt Anweisungen, solange eine Bedingung wahr ist?

  • â—‹ if-else
  • â—Ź while-Schleife
  • â—‹ Wertzuweisung
  • â—‹ Konstruktor
Die while-Schleife prĂĽft die Bedingung vor jedem Durchlauf und wiederholt den Block, solange die Bedingung wahr ist.
LĂĽckentext #9 10s â–¶ Testen

Bei der Vererbung heiĂźt die allgemeinere Klasse ___ und die speziellere Klasse Unterklasse.

âś“ Antwort: Oberklasse
Oberklasse (Basisklasse) → Unterklasse (abgeleitete Klasse). Z. B. Fahrzeug → Auto, Fahrrad.
Multiple Choice #10 10s â–¶ Testen

Welcher Datentyp speichert Wahrheitswerte (true/false)?

  • â—‹ int
  • â—‹ String
  • â—Ź boolean
  • â—‹ double
boolean speichert true oder false. int = ganze Zahlen, double = Gleitkommazahlen, String = Zeichenketten.
Multiple Choice #11 15s â–¶ Testen

Was ist ein Ăśbergabewert (Parameter) einer Methode?

  • â—‹ Der Name der Methode
  • â—Ź Ein Wert, der der Methode beim Aufruf mitgegeben wird
  • â—‹ Der RĂĽckgabewert der Methode
  • â—‹ Ein Attribut der Klasse
Z. B. setzeAlter(15): Die 15 ist der Ăśbergabewert. Die Methode verwendet ihn, um das Attribut zu setzen.
LĂĽckentext #12 10s â–¶ Testen

Der Wert, den eine Methode zurĂĽckliefert, heiĂźt ___.

âś“ Antwort: RĂĽckgabewert
Z. B. int getAlter() { return alter; } — der Rückgabewert ist der Wert von alter.
Mittel
Multiple Choice #1 20s â–¶ Testen

class Schueler extends Person. Person hat getName(), Schueler ergänzt getKlasse(). Welche Aufrufe funktionieren für ein Schueler-Objekt s?

  • â—‹ nur s.getKlasse()
  • â—Ź s.getKlasse() und s.getName()
  • â—‹ s.getKlasse() und auch p.getKlasse() fĂĽr eine Person p
Bei der Vererbung übernimmt die Unterklasse alle Attribute und Methoden der Oberklasse und kann eigene ergänzen: Ein Schueler hat getName() geerbt und getKlasse() dazu. Die Vererbung wirkt nur nach unten – eine Person kennt getKlasse() nicht.
Wahr / Falsch #2 15s â–¶ Testen

Wenn eine Unterklasse eine Methode der Oberklasse neu definiert, nennt man das Ăśberschreiben.

âś“ Wahr
Richtig. Ăśberschreiben (Override) bedeutet: Die Unterklasse definiert eine Methode der Oberklasse mit neuem Verhalten.
Multiple Choice #3 20s â–¶ Testen

Klasse Tier hat die Methode lautGeben(). Klasse Hund erbt von Tier und ĂĽberschreibt lautGeben() mit 'Wau!'. Was passiert bei meinHund.lautGeben()?

  • â—‹ Es wird die Methode der Oberklasse Tier aufgerufen
  • â—Ź Es wird 'Wau!' ausgegeben (Methode der Unterklasse)
  • â—‹ Es gibt einen Fehler
  • â—‹ Beide Methoden werden aufgerufen
Die ĂĽberschriebene Methode der Unterklasse hat Vorrang. meinHund ist ein Hund, also wird Hunds Version von lautGeben() aufgerufen.
Multiple Choice #4 15s â–¶ Testen

Ein Klassendiagramm zeigt die Hierarchie: Fahrzeug → PKW, Fahrzeug → LKW, Fahrzeug → Motorrad. Was ist Fahrzeug?

  • â—‹ Eine Unterklasse
  • â—‹ Ein Objekt
  • â—Ź Die Oberklasse (Generalisierung)
  • â—‹ Eine Methode
Fahrzeug ist die allgemeinere Oberklasse. PKW, LKW, Motorrad sind Spezialisierungen (Unterklassen).
Wahr / Falsch #5 15s â–¶ Testen

Eine Unterklasse kann zusätzliche Attribute haben, die in der Oberklasse nicht existieren.

âś“ Wahr
Richtig. Die Unterklasse erbt alle Attribute der Oberklasse und kann eigene hinzufügen. Z. B. Hund erbt von Tier und hat zusätzlich rasse.
Multiple Choice #6 15s â–¶ Testen

Standardmethoden zum Lesen und Setzen von Attributwerten heiĂźen:

  • â—‹ Konstruktor und Destruktor
  • â—Ź Getter und Setter
  • â—‹ Input und Output
  • â—‹ Read und Write
Getter (z. B. getName()) lesen den Wert eines Attributs. Setter (z. B. setName('Max')) ändern den Wert.