polymorphismus:methodoverriding
Überschreiben von Methoden
Tier t; t = new Katze("Snoopy"); t.miaue(); //Geht nicht! t = new Hund("Harro"); t.belle(); //Geht nicht!
Wir wissen, dass wir in der obigen Situation die Methoden miaue und belle nur durch umständliches Casten aufrufen können. Aber wir könnten den Compiler doch austricksen:
Tier t; t = new Katze("Snoopy"); t.sagwas(); //Geht! t = new Hund("Harro"); t.sagwas(); //Geht!
Der Computer entscheidet erst zur Laufzeit, ob bei t.sagwas() die Methode sagwas() der Klasse Katze aufgerufen wird oder die der Klasse Hund. Man nennt dies dynamische Bindung. Man sagt: Die Methoden sagwas() der Klassen Hund und Katze überschreiben die Methode sagwas() der Klasse Tier.
polymorphismus/methodoverriding.txt · Zuletzt geändert: 2023/03/09 17:02 von Martin Pabst

