Unter Polymorphie versteht man, wenn eine Klasse von der anderen erbt.
Dabei nimmt eine Klasse die Rolle der Elternklasse und die anderen, die einer Kindklasse an.
Bedingung:
- Eigenschaft/Methode muss gleich heißen
- Die Kindklasse erbt die Elternklasse (LKW : PKW)
- die Methode der Eltern muss virual sein
- die Methode des Kindes muss override sein (Das heißt die Elternmethode wird überschrieben/ ergänzt)
das base.[Methodenname] implementiert die Methode aus der Elternklasse in die Kindklasse
[crayon-676c3a6d5d4ad517001599/]
erstellen wir nun ein Objekt von PKW und lassen die Methode aufrufen, bekommen wir als Ausgabe
[crayon-676c3a6d5d4b1278399755/]
tun wir dasselbe mit der LKW Klasse, bekommen wir als Ausgabe:
[crayon-676c3a6d5d4b2926660018/]
sealed – Klasse versiegeln
Generell kann jede Klasse von einer anderen Erben. Möchte man aber vermeiden, dass von einer Klasse geerbt werden soll, nutzt man den Ausdruck sealed. Dies ist Sinnvoll, wenn man weiß, dass man in der Vererbung in der letzten Instanz angekommen ist.
[crayon-676c3a6d5d4b3381558960/]
abstract – Abstrakte Klassen
Abstrakte Klassen sind Klassen, die reine vererbbare Klassen sind. Das bedeutet man kann aus der Klasse kein Objekt mehr erzeugen.
[crayon-676c3a6d5d4b5091849201/]