faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:start [29.11.2021 20:52] – [Problemstellung] sbelfaecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Polymorphismus genauer ====== 
  
-===== Variablenpolymorphismus ===== 
- 
- 
-**Polymorphismus** haben wir schon für Variablen kennengelernt: Eine Variable eines Supertyps kann auch Werte aller Subtypen halten - die Variable ist //polymorph//. 
- 
-{{ :faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:fahrzeuge.drawio.png?600 |}} 
- 
- 
----- 
-{{:aufgabe.png?nolink  |}} 
-=== (A1) === 
- 
-Welche Typen können Werte haben, die in den folgenden Variablen gespeichert werden? 
-<code> 
-Fahrzeug f;  
-Roller r; 
-vierRaedrig v; 
-</code>  
- 
-===== Methodenpolymorphismus ===== 
- 
-==== Problemstellung ==== 
- 
- 
-Die Vererbungshierarchie unseres soziales Netzwerk mit Vererbung sieht gerade so aus: 
- 
- 
-{{ :faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:newssystem.drawio.png?600 |}} 
- 
-Man sieht, dass die Methode zum Anzeigen eines Beitrags in der Klasse ''Beitrag'' definiert ist und an die Klassen ''TextBeitrag'' und ''PhotoBeitrag'' vererbt wird. Diese Methode weiß nichts über besondere Eigenschaften der Subklassen - Vererbung ist eine Einbahnstrasse. Das führt zum Problem, dass die Ausgabe aller Beiträge etwas so aussehen: 
- 
-{{ :faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:auswahl_102.png |}} 
- 
-dabei werden die Besonderheiten der Beitragsarten nicht berücksichtigt - der ''photoBeitrag'' hat keine Bilddatei und keine Caption. Eigentlich sollte das nämlich so aussehen: 
- 
-{{ :faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:auswahl_103.png |}} 
- 
-Die spontane Lösungsidee verschiebt die ''display''-Methode in die Subklassen, so dass jede Subklasse eine eigene ''display''-Methode hat, welche dann natürlich entsprechend der spezifischen Eigenschaften implementiert sein könnte: 
- 
-{{ :faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:newssystem01.drawio.png |}} 
- 
-===== Material ===== 
-  
- 
-{{simplefilelist>:faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:*}} 
  • faecher/informatik/oberstufe/modellierung/vererbung/polymorphismus/start.1638215579.txt.gz
  • Zuletzt geändert: 29.11.2021 20:52
  • von sbel