Vererbung ist, wenn eine 'Klasse' von einer vorhandenen 'Klasse' abgeleitet ist. Wenn Sie also eine Person
Klasse haben, dann haben Sie eine Student
Klasse, die erweitert Person
und alle Dinge Student
erbt , Person
die 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
, Student
wird 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 read
Methode hat, und Sie eine haben, Student
die 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 Person
oder 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 p
ist 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.