Benutzer-Werkzeuge

Webseiten-Werkzeuge


polymorphismus:start

Dies ist eine alte Version des Dokuments!


Polymorphismus

1. Definition

Wir beginnen mit einem einfachen Beispiel, in dem wir zu einer Oberklasse (Tier) zwei Unterklassen (Katze, Hund) bilden:

Einer Variablen vom Typ Tier können wir sowohl Hund-Objekte als auch Katze-Objekte zuordnen. In beiden Fällen können wir die Methode stellDichVor() der Klasse Tier aufrufen:

Tier t; 
t = new Katze("Snoopy");
t.stellDichVor();
t.schnurre(); // GEHT NICHT!
 
t = new Hund("Bello");
t.stellDichVor();
t.belle(); // GEHT NICHT!

Obwohl die Variable t zum Zeitpunkt des Aufrufes t.schnurre() auf ein Katze-Objekt zeigt, akzeptiert der Compiler diesen Aufruf nicht, denn die Deklaration Tier t in der ersten Zeile sichert nur zu, dass t auf ein Objekt der Klasse Tier oder einer Unterklasse davon zeigt.

1. Definition

Wir beginnen mit einem einfachen Beispiel, in dem wir zu einer Oberklasse (Tier) zwei Unterklassen (Katze, Hund) bilden:

Einer Variablen vom Typ Tier können wir sowohl Hund-Objekte als auch Katze-Objekte zuordnen. In beiden Fällen können wir die Methode stellDichVor() der Klasse Tier aufrufen:

Tier t; 
t = new Katze("Snoopy");
t.stellDichVor();
t.schnurre(); // GEHT NICHT!
 
t = new Hund("Bello");
t.stellDichVor();
t.belle(); // GEHT NICHT!

Obwohl die Variable t zum Zeitpunkt des Aufrufes t.schnurre() auf ein Katze-Objekt zeigt, akzeptiert der Compiler diesen Aufruf nicht, denn die Deklaration Tier t in der ersten Zeile sichert nur zu, dass t auf ein Objekt der Klasse Tier oder einer Unterklasse davon zeigt.

polymorphismus/start.1678378361.txt.gz · Zuletzt geändert: 2023/03/09 16:12 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki