Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:modellierung:vererbung:subtyping:start [19.03.2024 09:07] – Frank Schiebel | faecher:informatik:oberstufe:modellierung:vererbung:subtyping:start [19.03.2024 14:31] (aktuell) – [Subtyping] Frank Schiebel | ||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
* Ein '' | * Ein '' | ||
* Ein '' | * Ein '' | ||
- | * Ein '' | + | * Ein '' |
<callout type=" | <callout type=" | ||
Unter dem Begriff **Polymorphie** versteht man bei Variablen, dass eine Variable vom Typ einer Oberklasse auch Werte von Typ ihrer Subklassen halten kann. Man spricht von Variablenpolymorphie. | Unter dem Begriff **Polymorphie** versteht man bei Variablen, dass eine Variable vom Typ einer Oberklasse auch Werte von Typ ihrer Subklassen halten kann. Man spricht von Variablenpolymorphie. | ||
Zeile 56: | Zeile 56: | ||
Eine Vorlage für die Fahrzeugverwaltung findest du hier: https:// | Eine Vorlage für die Fahrzeugverwaltung findest du hier: https:// | ||
- | Vervollständige die Implementation der Vorlage - ein Fahrzeug soll die folgenden allgemeinen Merkmale besitzen | + | **(A)** |
* Seine aktuelle Entfernung (in km, Luftlinie von der Basis) | * Seine aktuelle Entfernung (in km, Luftlinie von der Basis) | ||
Zeile 64: | Zeile 64: | ||
* Man kann seine Geschwindigkeit setzen (Methode setzeGeschwindigkeit). Die Geschwindigkeit darf die Maximalgeschwindigkeit nicht überschreiten, | * Man kann seine Geschwindigkeit setzen (Methode setzeGeschwindigkeit). Die Geschwindigkeit darf die Maximalgeschwindigkeit nicht überschreiten, | ||
* Es kann seine Maximalgeschwindigkeit angeben (Methode getMaxGeschwindigkeit). Für ein Objekt der Klasse Fahrzeug soll die Maximalgeschwindigkeit 0 sein. | * Es kann seine Maximalgeschwindigkeit angeben (Methode getMaxGeschwindigkeit). Für ein Objekt der Klasse Fahrzeug soll die Maximalgeschwindigkeit 0 sein. | ||
+ | * Es kann seine aktuelle Geschwindigkeit angeben (Methode getGeschwindigkeit). In der Klasse Fahrzeug soll die Geschwindigkeit zunächst 0 sein. | ||
* Es kann die Anzahl seiner Räder angeben. In der Klasse Fahrzeug soll diese ebenfalls 0 sein. | * Es kann die Anzahl seiner Räder angeben. In der Klasse Fahrzeug soll diese ebenfalls 0 sein. | ||
+ | **(B)** Erweitere die Klasse Fahrzeugverwaltung so, dass die Fahrzeuge in einer ArrayList gespeichert werden - welchen Typ sollte diese Array List haben? | ||
+ | |||
+ | **(C)** Fülle die ArrayList im Konstruktor der Fahrzeugverwaltung mit 10 Fahrzeugen | ||
+ | |||
+ | **(D)** Implementiere eine Methode: '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | **(A)** In welchen Attributen könnten sich die Subklassen von der Klasse Fahrzeug unterscheiden? | ||
+ | |||
+ | **(B)** Implementiere einige der Erweiterungen, | ||
+ | |||
+ | **(C)** Die Liste aller Fahrzeuge soll nun nicht nur die Entfernung zur Basis ausgeben, sondern alle Attribute, die ein bestimmtes Fahrzeug hat. Welches Problem ergibt sich jetzt? | ||
+ | |||
+ | ++++ Lösungsvorschlag | https:// | ||
+ | ==== Dateien ==== | ||
{{simplefilelist> | {{simplefilelist> | ||