Différence Entre Le Remplacement Et La Surcharge En C

Table des matières:

Différence Entre Le Remplacement Et La Surcharge En C
Différence Entre Le Remplacement Et La Surcharge En C

Vidéo: Différence Entre Le Remplacement Et La Surcharge En C

Vidéo: Différence Entre Le Remplacement Et La Surcharge En C
Vidéo: Java Cours درس جافا 75 la différence entre la surcharge et la redéfinition d'une méthode 2024, Novembre
Anonim

Différence clé - Remplacer ou surcharger en C #

La principale différence entre le remplacement et la surcharge en C # est que la liaison de l'appel de méthode surchargée à sa définition se produit au moment de l'exécution tandis que la liaison de l'appel de méthode surchargé à sa définition se produit au moment de la compilation.

C # est un langage de programmation à usage général développé par Microsoft. Le principal avantage de C # est qu'il prend en charge la programmation orientée objet (POO). L'un des piliers de la POO est le polymorphisme. Cela donne à un objet d'avoir plusieurs comportements. Il existe deux types de polymorphisme connus sous le nom de remplacement et de surcharge. Cet article explique la différence entre le remplacement de méthode et la surcharge en C #.

CONTENU

1. Présentation et différence clé

2. Qu'est-ce que le remplacement en C #

3. Qu'est-ce que la surcharge en C #

4. Similitudes entre le remplacement et la surcharge en C #

5. Comparaison côte à côte - Overriding vs Overloading en C # sous forme tabulaire

6. Résumé

Qu'est-ce que le remplacement en C #?

Il existe un autre concept important dans la POO: l'héritage. Il s'agit d'utiliser des attributs et des méthodes de la classe déjà existante. Il améliore la réutilisabilité du code. La classe déjà existante est la classe de base et la nouvelle classe est connue sous le nom de classe dérivée. En écrasant le polymorphisme, il devrait y avoir une classe de base et une classe dérivée. La liaison de l'appel de la méthode substituée à la définition se produit au moment de l'exécution. Un exemple est le suivant.

Différence entre le remplacement et la surcharge en C #
Différence entre le remplacement et la surcharge en C #

Figure 01: programme C # avec remplacement

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 s'exécutera. Ensuite, la variable de référence pointe vers l'objet Rectangle. Ainsi, la méthode d'affichage de la classe Rectangle s'exécutera. 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 lors de l'exécution. La classe Shape est écrite avec le mot-clé «virtuel». 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.

Qu'est-ce que la surcharge en C #?

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. Reportez-vous au programme C # ci-dessous.

Différence clé entre le remplacement et la surcharge en C #
Différence clé entre le remplacement et la surcharge en C #

Figure 02: Programme C # avec surcharge

Selon le programme ci-dessus, la classe A a deux méthodes avec le même nom appelé sum. 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 de somme 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.

Quelle est la similitude entre le remplacement et la surcharge en C #?

Le remplacement et la surcharge en C # sont des types de polymorphisme

Quelle est la différence entre le remplacement et la surcharge en C #?

Diff article au milieu avant la table

Remplacer vs surcharge en C #

Le remplacement en C # consiste à fournir une implémentation spécifique dans une méthode de classe dérivée pour une méthode déjà existante dans la classe de base. La surcharge en C # consiste à créer plusieurs méthodes avec le même nom avec différentes implémentations.
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. Dans la surcharge C #, les méthodes ont le même nom mais un nombre de paramètres différent 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 liaison
La liaison de l'appel de méthode substitué à sa définition se produit au moment de l'exécution. La liaison de l'appel de méthode surchargé à sa définition se produit au moment de la compilation.
Synonymes
Le remplacement est appelé polymorphisme d'exécution, polymorphisme dynamique ou liaison tardive. La surcharge est appelée polymorphisme à la compilation, polymorphisme statique ou liaison précoce.

Résumé - Remplacement vs surcharge en C #

Le remplacement et la surcharge sont deux types de polymorphisme. La différence entre la substitution et la surcharge en C # est que la liaison de l'appel de méthode surchargée à sa définition se produit au moment de l'exécution tandis que la liaison de l'appel de méthode surchargé à sa définition se produit au moment de la compilation.

Recommandé: