Polymorphisme en Java - Fonctionnement, types et importance avec des exemples

Table des matières:

Anonim

Introduction au polymorphisme en Java

Le polymorphisme est défini comme un concept dans lequel, à l'aide d'une seule action, de nombreuses manières peuvent être effectuées. Le mot est originaire des 2 mots grecs, qui sont à la fois poly et morphes. Ici, comme vous le savez peut-être, "poly" implique plusieurs, ainsi que "morphes", implique plusieurs formes. Par conséquent, le mot polymorphisme impliquerait de nombreuses 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é d'exposer de nombreuses fonctionnalités même si elles présentent l'interface commune. Par conséquent, nous pouvons supposer que le mot long indique en fait un concept très simple.

La chose à noter à propos du polymorphisme est que le code de travail entier qui existe dans de nombreuses classes n'a pas vraiment besoin de comprendre que la classe qui est utilisée par lui de la même manière d'utilisation est la même.

Supposons l'exemple du polymorphisme dans le monde réel. Supposons le bouton. Vous savez tous que si nous appliquons un peu de pression, vous pourrez appuyer sur le bouton, mais nous ne connaîtrons pas le résultat de la pression sur le bouton et le but de l'utilisation. Donc, notez qu'ici, pour prendre soin, c'est que, de toute façon, le résultat n'affectera pas la procédure utilisée.

L'objectif 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 à la compilation et le polymorphisme à l'exécution. Le polymorphisme au moment de la compilation est effectué par surcharge de méthode et le polymorphisme d'exécution par redéfinition de méthode.

Le polymorphisme d'exécution, également appelé Dynamic Method Dispatch est un processus dans lequel l'appel à une méthode redéfinie est résolu au moment de l'exécution malgré au moment de la compilation. Ici, la méthode substituée est appelée via une variable de référence d'une classe parent. En outre, le polymorphisme d'exécution ne peut pas être atteint par les membres de données.

Importance du polymorphisme en Java

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

Ce sont ceux-ci - Coercition, surcharge d'opérateur et paramètres polymorphes.

Coercition

Essayons d'obtenir le sens de la contrainte à travers cet exemple. Supposons que la valeur de la chaîne soit co-valeur: Supposons que le deuxième nombre a la valeur 2. Maintenant, que se passerait-il lorsque vous concatriez cette valeur de chaîne avec ce nombre? Le résultat que nous obtenons de cette concaténation serait «co-valeur: 2». Ceci est connu sous le nom de coercition. Il s'agit d'une conversion de type implicite qui est exécutée dans l'ordre de prévention des erreurs.

Surcharge de l'opérateur

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

Paramètres polymorphes

Cela signifie autoriser l'accès à tout objet de l'une des manières ci-dessous, comme indiqué sous -

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

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:

  • Le 1 er est une liaison statique, ce qui signifie chaque fois que le type d'objet a été déterminé pendant la compilation.
  • 2 ème est une liaison dynamique 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. De plus, il joue un rôle très vital permettant aux objets d'hériter de nombreuses structures dans le partage de l'interface. Le polymorphisme a été clairement mentionné comme étant le seul à être cartographié pour beaucoup.

Exemples de polymorphisme en Java

Voici les différents exemples de polymorphisme en Java:

Exemple # 1 - programme Java pour présenter la surcharge de méthode

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));
)
)

Production:

Exemple # 2 - Programme Java pour présenter la surcharge d'opérateur

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");
)
)

Production:

Exemple # 3 - Programme Java pour la surcharge de méthode

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));
)
)

Production:

Conclusion

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. De plus, il joue un rôle très vital permettant aux objets d'hériter de nombreuses structures dans le partage de l'interface. Le polymorphisme a été clairement mentionné comme étant le seul à être cartographié pour beaucoup.

Articles recommandés

Ceci est un guide sur le polymorphisme en Java. Ici, nous discutons du travail du polymorphisme en Java avec ses types et son importance, ainsi que différents exemples et implémentations de code. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Polymorphisme en C #
  2. JTextField en Java
  3. Surcharge et remplacement en C ++
  4. Qu'est-ce que l'héritage Java?
  5. Surcharge en Java
  6. Surcharge Python
  7. Guide complet de l'héritage en Python
  8. Types et gestion des erreurs en JavaScript
  9. Avantages de la liaison statique et de la liaison dynamique