faecher:informatik:oberstufe:modellierung:vererbung:subtyping:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:modellierung:vererbung:subtyping:start [19.03.2024 09:10] Frank Schiebelfaecher:informatik:oberstufe:modellierung:vererbung:subtyping:start [19.03.2024 14:31] (aktuell) – [Subtyping] Frank Schiebel
Zeile 12: Zeile 12:
   * Ein ''Auto'' ist ein Fahrzeug mit 4 Rädern und Maximalgeschwindigkeit 140 km/h.   * Ein ''Auto'' ist ein Fahrzeug mit 4 Rädern und Maximalgeschwindigkeit 140 km/h.
   * Ein ''Rennwagen'' ist ein Auto mit Maximalgeschwindigkeit 220 km/h.   * Ein ''Rennwagen'' ist ein Auto mit Maximalgeschwindigkeit 220 km/h.
-  * Ein ''Lastwagen'' ist ein Auto mit dem zusätzlichen Attribut Ladung.+  * Ein ''Lastwagen'' ist ein Auto mit Maximalgeschwindigkeit 80 km/h.
 <callout type="info" icon="true" title="Polymorphie"> <callout type="info" icon="true" title="Polymorphie">
 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 64: Zeile 64:
   * Man kann seine Geschwindigkeit setzen (Methode setzeGeschwindigkeit). Die Geschwindigkeit darf die Maximalgeschwindigkeit nicht überschreiten, eine korrekte Ausführung sollte protokolliert werden.   * Man kann seine Geschwindigkeit setzen (Methode setzeGeschwindigkeit). Die Geschwindigkeit darf die Maximalgeschwindigkeit nicht überschreiten, eine korrekte Ausführung sollte protokolliert werden.
   * 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. 
  
Zeile 72: Zeile 73:
 **(D)** Implementiere eine Methode: ''printFuhrpark'', der alle Fahrzeuge mit ihrer aktuellen Position ausgibt. **(D)** Implementiere eine Methode: ''printFuhrpark'', der alle Fahrzeuge mit ihrer aktuellen Position ausgibt.
  
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) ===
 +
 +**(A)** In welchen Attributen könnten sich die Subklassen von der Klasse Fahrzeug unterscheiden? Wo könnten die Subklassen zum Beispiel durch Weitere Attribute erweitert werden?
 +
 +**(B)** Implementiere einige der Erweiterungen, die du dir ausgedacht hast. Welche Auswirkungen hat das auf die Konstruktoren der Subklassen?
 +
 +**(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://codeberg.org/qg-info-unterricht/bluej-fahrzeuge/src/branch/loesungsvorschlag ++++
 ==== Dateien ==== ==== Dateien ====
  
  • faecher/informatik/oberstufe/modellierung/vererbung/subtyping/start.1710839449.txt.gz
  • Zuletzt geändert: 19.03.2024 09:10
  • von Frank Schiebel