faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus: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:polymorphismus:start [29.11.2021 20:05] – [Vererbung und Überschreiben:] sbelfaecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:start [19.03.2024 09:15] (aktuell) – [Lösungsansatz: Überschreiben] Frank Schiebel
Zeile 1: Zeile 1:
-====== Polymorphismus genauer ======+====== Methodenpolymorphismus ======
  
-===== Variablenpolymorphismus ===== +===== Problemstellung =====
- +
- +
-**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 ====+
  
  
Zeile 48: Zeile 27:
  
  
-==== Lösungsansatz: Überschreiben ====+===== Lösungsansatz: Überschreiben =====
  
   * Superklasse und Subklasse definieren  Methoden mit gleicher Signatur.    * Superklasse und Subklasse definieren  Methoden mit gleicher Signatur. 
Zeile 114: Zeile 93:
   - Die überschriebenen Methoden verdecken dabei stets die von der Superklasse geerbten Versionen.    - Die überschriebenen Methoden verdecken dabei stets die von der Superklasse geerbten Versionen. 
  
 +
 +===== Alle Klassen erben von "Object" =====
 +
 +Jede Klasse erbt von Java Object, das kann man beispielsweise erkennen, wenn man einfach mal eine "leere" Klasse erstellt:
 +
 +<code java>
 +class Ball () {
 +
 +}
 +</code>
 +
 +Man kann diesen Ball instanziieren, obwohl er weder Konstruktor noch weitere Methoden enthält:
 +
 +<code java>
 +Hund ball01 = new Ball();
 +</code>
 +
 +Er hat sogar schon Methoden, z.B. die Methode ''toString()'':
 +
 +<code java>
 +ball01.toString();
 +</code>
 +
 +das Erzeugt eine Ausgabe der folgenden Form: 
 +
 +<code>
 +ball01@af54f432
 +</code>
 +
 +
 +https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html
 ===== Material ===== ===== Material =====
    
  
 {{simplefilelist>:faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:*}} {{simplefilelist>:faecher:informatik:oberstufe:modellierung:vererbung:polymorphismus:*}}
  • faecher/informatik/oberstufe/modellierung/vererbung/polymorphismus/start.1638216302.txt.gz
  • Zuletzt geändert: 29.11.2021 20:05
  • von sbel