L'héritage, c'est quand une classe dérive d'une "classe". Donc, si vous avez un Person
classe, alors vous avez un Student
classe qui étend la classe Person
, Student
hérite de toutes les choses qu' Person
. Il y a quelques détails sur les modificateurs d'accès que vous mettez sur les champs/méthodes en Personne, mais c'est l'idée de base. Par exemple, si vous avez un domaine privé sur Person
, Student
ne verrez pas cela parce que c'est privé, privé et les champs ne sont pas visibles dans les sous-classes.
Polymorphisme concerne la façon dont le programme décide des méthodes qu'il faut utiliser, en fonction du type de chose. Si vous avez un Person
, ce qui a un read
méthode, et vous avez un Student
qui s'étend Person
, qui a sa propre implémentation d' read
, la méthode est appelée, est déterminé par le moment de l'exécution, en fonction de si vous avez un Person
ou Student
. Cela devient un peu difficile, mais si vous faites quelque chose comme
Person p = new Student();
p.read();
la méthode de lecture sur l'Étudiant est appelé. C'est le polymorphisme. Vous pouvez faire cette mission, parce qu'un Student
est Person
, mais l'exécution est assez intelligent pour savoir que le type réel de l' p
est Étudiant.
Notez que les détails diffèrent entre les langues. Vous pouvez faire de l'héritage en javascript par exemple, mais elle est totalement différente de la façon dont il fonctionne en Java.