Maison  >  Article  >  Java  >  Polymorphisme en Java

Polymorphisme en Java

WBOY
WBOYoriginal
2024-08-30 15:43:34429parcourir

Le polymorphisme est défini comme un concept dans lequel, avec une action de plusieurs manières, il peut être réalisé. Le mot provient de 2 mots grecs, qui sont à la fois poly et morphes. Ici, comme vous le savez peut-être, « poly » implique plusieurs, tout comme « morphs » implique plusieurs formes. Le mot polymorphisme impliquerait donc plusieurs formes. Comprenons maintenant le polymorphisme en Java en détail.

Comment fonctionne le polymorphisme en Java ?

Le polymorphisme est une caractéristique de programmation OOO. Chaque fois que nous l'utilisons, une classe a la capacité de présenter de nombreuses fonctionnalités même si elles présentent l'interface commune. Par conséquent, nous pouvons supposer que le mot long raconte en réalité un concept très simple.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Ce qu'il convient de noter à propos du polymorphisme est que l'ensemble du code de travail dans de nombreuses classes n'a pas vraiment besoin de comprendre la classe qu'il utilise de la même manière.

Supposons l'exemple réel du polymorphisme. Supposons le bouton. Vous savez tous que si nous exerçons un peu de pression, vous pourrez appuyer sur le bouton ; cependant, nous ne connaîtrons pas le résultat de la pression sur le bouton ni le but de son utilisation. Donc, le point à prendre en compte ici est que de toute façon, le résultat n’affectera pas la procédure utilisée.

Le but fondamental du polymorphisme est donc de fabriquer des objets interchangeables en fonction des besoins.

Types de polymorphisme en Java

  • Les deux types de polymorphisme sont le polymorphisme au moment de la compilation et le polymorphisme au moment de l'exécution. Le polymorphisme au moment de la compilation est effectué par surcharge de méthode et le polymorphisme à l'exécution par remplacement de méthode.
  • Le polymorphisme d'exécution, également appelé Dynamic Method Dispatch, est un processus dans lequel un appel à une méthode remplacée est résolu au moment de l'exécution malgré la compilation. Ici, la méthode remplacée est appelée via une variable de référence d'une classe parent. De plus, le polymorphisme d'exécution ne peut pas être obtenu par les données membres.

Importance

Si nous écartons le polymorphisme dynamique ainsi que le polymorphisme statique, il existe en programmation certaines des caractéristiques de programmation de Java qui présentent un polymorphisme autre que ces deux types importants.

Ce sont les suivants : coercition, surcharge d'opérateur et paramètres polymorphes.

1. Coercition

Essayons de comprendre le sens de la coercition à travers cet exemple. Supposons que la valeur de la chaîne soit co-valeur : supposons que le deuxième nombre ait la valeur 2. Maintenant, que se passerait-il lorsque vous concatériez cette valeur de chaîne avec ce nombre ? Le résultat que nous obtiendrons de cette concaténation serait « co valeur : 2 ». C’est ce qu’on appelle la coercition. Il s'agit d'une conversion de type implicite, qui est exécutée pour éviter les erreurs.

2. Surcharge des opérateurs

Alors que nous commençons par le concept de surcharge des opérateurs, permettez-moi de jeter un coup d'œil à un scénario. Supposons que la chaîne a la valeur « Operate » et 2nd qui a la valeur « Overload ». Ensuite, nous utiliserions le symbole plus (+) de la même manière pour l’addition de 2 nombres. Ce (+) serait une concaténation. Si nous considérons deux entiers, alors l’addition de ces deux nombres serait renvoyée. Chaque fois qu'un symbole ou un opérateur a la capacité de modifier l'interprétation en fonction de la procédure utilisée, le type de polymorphisme obtenu est appelé surcharge d'opérateur.

3. Paramètres polymorphes

Cela signifie autoriser l'accès à n'importe quel objet de l'une des manières ci-dessous indiquées ci-dessous –

  • Utilisation d'une variable de référence appartenant à l'une ou l'autre classe parent.
  • Utilisation d'une variable de référence qui appartient à la classe où elle existe.

4. Portée du polymorphisme

La liaison signifie la connexion d'un appel de méthode à un corps de méthode. Il existe deux types de reliure :

  • 1st est une liaison statique, ce qui signifie chaque fois que le type d'objet a été déterminé au moment de la compilation.
  • 2nd est une liaison dynamique, ce qui signifie chaque fois que le type d'objet a été déterminé pendant l'exécution.

La seule raison pour laquelle le polymorphisme est requis réside dans le fait que son concept est extrêmement nécessaire dans la mise en œuvre de l'héritage. Il joue également un rôle essentiel en permettant aux objets d'hériter de nombreuses structures lors du partage de l'interface. Le polymorphisme a été clairement mentionné comme le seul qui soit cartographié pour beaucoup.

Exemples de polymorphisme en Java

Vous trouverez ci-dessous les différents exemples de polymorphisme en Java :

Exemple n°1

Programme Java pour présenter la surcharge de méthodes.

Code :

class methodOverload {
static int multi(int x, int y)
{
return x * y;
}
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
{
return x * y;
}
}
class Main {
public static void main(String[] args)
{
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
}
}

Sortie :

Polymorphisme en Java

Example #2

Java program to showcase Operator Overloading.

Code:

class operator {
void oper(String s, String s2)
{
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
}
void oper(int a, int b)
{
int c = a + b;
System.out.println("Sum is : " + c);
}
}
class Main {
public static void main(String[] args)
{
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
}
}

Output:

Polymorphisme en Java

Example #3

Java program for Method Overloading.

Code:

class Multi {
// Method with 2 parameter
static int Multi(int a, int b)
{
return a * b;
}
static int Multi(int a, int b, int c)
{
return a * b * c;
}
}
class Main {
public static void main(String[] args)
{
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
}
}

Output:

Polymorphisme en Java

Conclusion

The sole reason as to why Polymorphism is required lies as its concept is enormously needed in the implementation of inheritance. It also plays a vital role in allowing the objects to inherit numerous structures in sharing the interface. Polymorphism has been mentioned clearly as the only one that is mapped for many.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn