
Zitat von
Muetze1:

Zitat von
IngoD7:

Zitat von
Muetze1:
- nur das ich dort nicht die Sicherheit habe, das die Nachfahren die Methode implementieren.
Kann man das so sagen? Die Sicherheit hast du doch nie.
Doch, bei abstrakten Methoden - einzige Voraussetzung: ich nutze sie in meiner Klasse wo sie einführe...
Ich weiß, was du meinst - aber ich meinte, dass niemand einen Klassenprogrammierer zwingen kann, eine im Vorgänger abstracte Methode auch tatsächlich in seiner Ableitung zu implementieren. Wenn er es nun mal nicht will

oder es einfach vergisst ...
Daher auch meine danach folgende Aussage:

Zitat von
IngoD7:
Der Unterschied ist, dass wenn der Nachfahre die Methode nicht implementiert hat, es bei abstract zu einem Laufzeitfehler kommt, während bei nur-virtuell die beim Vorfahren dann zwangsläufig vorhandene (und dem Nachfahren vererbte) Methode abgearbeitet wird.