le différence clé entre surcharger et surcharger en C # est que la liaison de l'appel de méthode substituée à sa définition se produit au moment de l'exécution tandis que la liaison de l'appel de méthode surchargée à sa définition se produit au moment de la compilation.
C # est un langage de programmation général développé par Microsoft. Le principal avantage de C # est qu’il prend en charge la programmation orientée objet (OOP). Le polymorphisme est l’un des piliers de la POO. Cela donne à un objet d'avoir plusieurs comportements. Il existe deux types de polymorphisme connus sous le nom de priorité et de surcharge. Cet article explique la différence entre la substitution de méthode et la surcharge en C #..
1. Vue d'ensemble et différence clé
2. Qu'est-ce qui est prioritaire en C #?
3. Qu'est-ce que la surcharge en C #?
4. Similitudes entre neutralisation et surcharge en C #
5. Comparaison côte à côte - Remplacement par rapport à la surcharge en C # sous forme tabulaire
6. Résumé
La notion de patrimoine est un autre concept important en POO. C'est utiliser les attributs et les méthodes de la classe existante. Cela améliore la réutilisation du code. La classe existante est la classe de base et la nouvelle classe est appelée classe dérivée. Pour neutraliser le polymorphisme, il devrait y avoir une classe de base et une classe dérivée. La liaison de l'appel de méthode substituée à la définition se produit au moment de l'exécution. Un exemple est comme suit.
Figure 01: Programme C # avec dérogation
Selon le programme ci-dessus, la classe Shape est la classe de base et contient la méthode d'affichage. Les classes Rectangle et Triangle sont des classes dérivées. Ces classes dérivées ont également le même affichage de méthode avec leurs propres implémentations.
Tout d'abord, la variable de référence obj est créée. Il pointe vers l'objet Shape. Ainsi, la méthode d'affichage de la classe Shape sera exécutée. Ensuite, la variable de référence pointe vers l'objet Rectangle. Ainsi, la méthode d'affichage de la classe Rectangle sera exécutée. Enfin, la variable de référence pointe vers l'objet Triangle. Ainsi, la méthode d’affichage de la classe Triangle s’exécutera. La méthode d'affichage de la classe de base est remplacée par les méthodes d'affichage des classes dérivées.
La méthode à exécuter est décidée au moment de l'exécution. La classe Shape est écrite avec le mot clé 'virtual'. Les classes Rectangle et Triangle sont écrites avec le mot-clé 'override'. Si ces mots-clés ne sont pas utilisés, la sortie imprimera le contenu de la méthode d'affichage de la classe Shape pour tous..
En surcharge, plusieurs méthodes ont le même nom mais avec des paramètres différents. Les paramètres peuvent être de différents types. Les méthodes peuvent également avoir un nombre différent de paramètres. La surcharge de méthode se produit dans la même classe. La liaison des méthodes surchargées à la définition se produit au moment de la compilation. Référez-vous au programme C # ci-dessous.
Figure 02: Programme C # avec surcharge
Selon le programme ci-dessus, la classe A a deux méthodes du même nom appelées somme. Ils ont différents types de paramètres. Dans le programme principal, un objet de A est créé. La somme (2,3) invoquera la méthode sum avec des entiers. La somme (5.1, 7.94) invoquera la méthode sum avec des valeurs doubles. Les deux méthodes ont le même nom et le même nombre de paramètres. Mais les types de paramètres sont différents. La méthode requise est appelée en conséquence. Une surcharge peut également se produire si les noms de méthode et les types de paramètres sont identiques mais que le nombre de paramètres est différent..
Remplacement par rapport à la surcharge en C # | |
Remplacer en C # consiste à fournir une implémentation spécifique dans une méthode de classe dérivée pour une méthode existant déjà dans la classe de base. | La surcharge en C # consiste à créer plusieurs méthodes portant le même nom avec des implémentations différentes. |
Paramètres | |
Dans C # Overriding, les méthodes ont le même nom, les mêmes types de paramètres et le même nombre de paramètres.. | En surcharge C #, les méthodes ont le même nom mais un nombre différent de paramètres ou un type de paramètres différent. |
Occurrence | |
En C #, le remplacement se produit dans la classe de base et la classe dérivée. | En C #, la surcharge se produit dans la même classe. |
Temps de reliure | |
La liaison de l'appel de méthode substituée à sa définition se produit au moment de l'exécution. | La liaison de l'appel de méthode surchargée à sa définition se produit au moment de la compilation. |
Synonymes | |
La priorité est appelée comme polymorphisme d'exécution, polymorphisme dynamique ou liaison tardive. | La surcharge s'appelle comme polymorphisme de temps de compilation, polymorphisme statique ou liaison anticipée. |
La surcharge et la surcharge sont deux types de polymorphisme. La différence entre surcharger et surcharger en C # réside dans le fait que la liaison de l'appel de méthode surchargée à sa définition se produit à l'exécution, tandis que la liaison de l'appel de méthode surchargée à sa définition se produit à la compilation..
1. Kumar, Mukesh. Coin C #. Disponible ici
2.tutorialspoint.com. "Polymorphisme C #." TutorielsPoint. Disponible ici
3.tutorialspoint.com. "Types de données C #." TutorialsPoint , Disponible ici