Différence clé - Surcharge vs remplacement en Java
La programmation orientée objet (POO) est un paradigme majeur dans le développement de logiciels. C'est une méthodologie pour concevoir un programme utilisant des classes et des objets. Une classe est un plan. Il décrit ce que doit contenir l'objet. Il définit les propriétés ou les attributs et les méthodes dont l'objet doit être constitué. Par conséquent, un objet est une instance d'une classe. Ces objets communiquent avec d'autres objets. Un concept majeur de la POO est le polymorphisme. C'est la capacité d'un objet à se comporter de plusieurs manières. Le polymorphisme est classé en deux sections qui surchargent et remplacent. Cet article explique la différence entre ces deux en Java. La principale différence entre la surcharge et la substitution en Java est que la surcharge est la possibilité de créer plusieurs méthodes du même nom avec différentes implémentations et la substitution consiste à fournir une implémentation pour une méthode de sous-classe qui existe déjà dans la superclasse.
CONTENU
1. Présentation et différence clé
2. Qu'est-ce que la surcharge en Java
3. Qu'est-ce que le remplacement en Java
4. Similitudes entre la surcharge et le remplacement en Java
5. Comparaison côte à côte - Surcharge vs remplacement en Java sous forme tabulaire
6. Résumé
Qu'est-ce que la surcharge en Java?
La surcharge est la possibilité de créer plusieurs méthodes du même nom avec différentes implémentations. Reportez-vous au code Java ci-dessous.
Figure 01: programme Java expliquant la surcharge avec un nombre différent d'arguments
Selon le programme ci-dessus, la classe A contient deux méthodes portant le même nom. La première méthode de somme a deux paramètres. La deuxième méthode de somme a trois paramètres. Lors de la création d'un objet de type A et de l'appel de sum (2,3), il appellera la méthode sum avec deux paramètres qui sont sum (int a, int b) et renvoie 5. Lors de la création d'un objet de type A et de l'appel sum (2, 3,4), il appellera l'autre méthode de somme avec trois paramètres qui est la somme (int a, int b, int c) et renvoie 9.
Le nom de la méthode est le même mais le nombre de paramètres est différent. On peut observer que le même objet se comporte différemment. Ce concept est connu sous le nom de surcharge. Il est également appelé liaison statique ou polymorphisme temporel de compilation.
Il peut également être surchargé avec différents types de données. Reportez-vous au code Java ci-dessous.
Figure 02: programme Java qui explique la surcharge avec un nombre différent d'arguments
Selon le programme ci-dessus, la classe A se compose de deux méthodes portant le même nom. La méthode sum (int a, int b) reçoit deux valeurs entières. La somme (double un double b) reçoit deux valeurs doubles. Lors de la création de l'objet de type A et de l'appel de sum (2,3), il appellera sum (int a, int b) et retournera la valeur 5. Lors de l'appel de sum (3.4, 5.6), il appellera sum (double un double b) et renvoie la valeur 9.0. Dans cet exemple, les méthodes ont le même nom, mais un type de variables différent. C'est aussi une surcharge.
Qu'est-ce que le remplacement en Java?
En Java, il est possible de créer des sous-classes avec des classes déjà existantes. Plutôt que de créer la nouvelle classe depuis le début, il est possible d'utiliser les propriétés et les méthodes de la classe déjà existante. La classe existante est la superclasse et la classe dérivée est la sous-classe. Lorsque la sous-classe fournit une implémentation pour une méthode, qui est déjà dans la superclasse, on parle de substitution. Reportez-vous au programme Java ci-dessous.
Figure 03: programme Java pour le remplacement
Selon le programme ci-dessus, la classe A dispose d'un affichage de méthode (). La classe B s'étend de la classe A, donc les propriétés et méthodes de la classe A sont accessibles par la classe B. La classe B a la méthode display () avec une implémentation spécifique. Lors de la création d'un objet de type A et de l'appel de la méthode d'affichage, il donnera la sortie B. Même si la classe A a une méthode d'affichage, elle est remplacée par la méthode d'affichage de classe B. La sous-classe implémente une méthode déjà existante dans la superclasse.
Ce concept est un type de polymorphisme connu sous le nom de dépassement. Il est également appelé liaison tardive, liaison dynamique, polymorphisme d'exécution.
Quelles sont les similitudes entre la surcharge et le remplacement en Java?
- Les deux sont des types de polymorphisme.
- Dans la surcharge et le remplacement, les méthodes ont le même nom.
Quelle est la différence entre la surcharge et le remplacement en Java?
Diff article au milieu avant la table
Surcharge vs remplacement en Java |
|
La surcharge en Java est la possibilité de créer plusieurs méthodes du même nom avec différentes implémentations. | La substitution en Java fournit une implémentation spécifique dans la méthode de sous-classe pour une méthode déjà existante dans la superclasse. |
Paramètres | |
En surcharge, les méthodes ont le même nom mais un nombre de paramètres différent ou un type de paramètres différent. | En cas de substitution, les méthodes ont le même nom et les paramètres doivent être identiques. |
Thèmes | |
Une surcharge se produit au sein de la classe. | Le remplacement se produit dans les deux classes qui ont une relation d'héritage. |
Synonymes | |
La surcharge est appelée polymorphisme temporel compilé. | Le remplacement est appelé polymorphisme d'exécution. |
Résumé - Surcharge vs remplacement en Java
Le polymorphisme est un concept majeur de la programmation orientée objet. Il permet à un objet de se comporter de plusieurs manières. Cela peut être une surcharge ou un dépassement. La surcharge est le polymorphisme à la compilation, et la surcharge est le polymorphisme à l'exécution. Ils sont utiles dans le développement d'applications logicielles. La différence entre le remplacement et la surcharge réside dans le fait que la surcharge est la capacité de créer plusieurs méthodes du même nom avec différentes implémentations et que le remplacement fournit une implémentation spécifique dans une méthode de sous-classe pour une méthode déjà existante dans la superclasse. Il est possible d'implémenter à la fois la surcharge et le remplacement en Java.
Téléchargez le PDF Overloading vs Overriding en Java
Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne selon la note de citation. Veuillez télécharger la version PDF ici Différence entre la surcharge et le remplacement en Java