Vererbung ist, wenn eine 'Klasse' von einer vorhandenen 'Klasse' abgeleitet ist. Wenn Sie also eine PersonKlasse haben, dann haben Sie eine StudentKlasse, die erweitert Personund alle Dinge Student erbt , Persondie vorhanden sind. Es gibt einige Details zu den Zugriffsmodifikatoren, die Sie in die Felder / Methoden in Person eingefügt haben, aber das ist die Grundidee. Wenn Sie beispielsweise ein privates Feld aktiviert haben Person, Studentwird es nicht angezeigt, da seine privaten und privaten Felder für Unterklassen nicht sichtbar sind.
Polymorphismus befasst sich damit, wie das Programm entscheidet, welche Methoden es verwenden soll, je nachdem, welche Art von Dingen es hat. Wenn Sie eine haben Person, die eine readMethode hat, und Sie eine haben, Studentdie erweitert Person, die eine eigene Implementierung hat read, wird die Methode, die aufgerufen wird, von der Laufzeit für Sie bestimmt, je nachdem, ob Sie eine Personoder eine haben Student. Es wird ein bisschen schwierig, aber wenn Sie so etwas tun
Person p = new Student();
p.read();
Die Lesemethode für Student wird aufgerufen. Das ist der Polymorphismus in Aktion. Sie können diese Zuordnung tun , weil ein Student a Person , aber die Laufzeit ist intelligent genug , um zu wissen , dass sich der tatsächliche Typ pist Schüler .
Beachten Sie, dass sich die Details zwischen den Sprachen unterscheiden. Sie können beispielsweise in Javascript vererben, aber es ist völlig anders als in Java.