Différence entre la surcharge de méthode et le remplacement

Différence entre la surcharge de méthode et le remplacement

Surcharge de méthode

La surcharge de méthode, également connue sous le nom de surcharge de fonction ou de polymorphisme de temps de compilation, est un concept d'avoir deux méthodes ou plus avec le même nom mais une signature différente dans la même portée. Il existe de nombreux langages de programmation qui prennent en charge cette fonctionnalité: ADA, C ++, C #, D et Java.

Exemple de surcharge de méthode en C #
Comme indiqué dans l'exemple ci-dessus, la méthode «polygone» est surchargée 3 fois avec une signature de méthode différente, i.e Le type ou le nombre de paramètres est différent.

Méthode remplacée

Méthode L'observation, également connu sous le nom de fonctionnement de fonction ou de polymorphisme d'exécution, est une fonction OOP qui permet à une classe enfant de fournir sa propre implémentation à la méthode définie dans la classe parentale. L'implémentation dans la classe infantile remplace la définition de la méthode dans la classe de base, à condition que la méthode dans la classe enfant devrait avoir le même nom, signature et type de retour.

Exemple de méthode remplacée en C #
Ici, la méthode Draw dans la classe Source2 remplace la méthode de dessin définie dans la classe Source1.

Différence entre la surcharge de méthode et la mise en place de la méthode

  1. Dans la méthode que les méthodes de surcharge doivent avoir une signature différente. Dans la méthode, les méthodes primordiales doivent avoir la même signature.
  2. La surcharge de la fonction consiste à «ajouter» ou «étendre» plus au comportement de la méthode. La fonction primordiale est de «changer» ou de «redéfinir» le comportement d'une méthode.
  3. La surcharge de méthode est utilisée pour réaliser le polymorphisme à temps de compilation; La méthode remplacée est utilisée pour atteindre le polymorphisme d'exécution.
  4. Dans le compilateur de surcharge de méthode / fonction de la fonction, quel objet attribué à quelle classe au moment de la compilation, mais dans la méthode remplacant ces informations n'est connu avant l'exécution.
  5. La surcharge de fonction a lieu dans la même classe tandis que le remplacement se déroule dans une classe dérivée d'une classe de base.