Le polymorphisme est le concept à l'aide duquel une action unique peut être réalisée de différentes manières. Il est dérivé de deux mots grecs : poly et morphs. « poly » signifie plusieurs et « morphs » signifie formes. Désormais, le polymorphisme implique de nombreuses formes. La programmation orientée objet peut être définie comme la capacité d'un langage de programmation à traiter les objets différemment en fonction de leur classe ou de leur type de données. Fondamentalement, nous pouvons le définir comme la capacité des classes dérivées à redéfinir des méthodes.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
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.
C'est une caractéristique de programmation orientée objet. Grâce au polymorphisme, une classe peut présenter différentes fonctionnalités même lorsqu'elle a une interface commune. Ainsi, on peut dire que ce long terme explique un concept de base. La chose remarquable à propos du polymorphisme est que tout le code de travail dans les différentes classes ne nécessite pas de connaître la classe qu'il utilise car leur mode d'utilisation est le même.
C'est une caractéristique de programmation orientée objet. Grâce au polymorphisme, une classe peut présenter différentes fonctionnalités même lorsqu'elle a une interface commune. Ainsi, on peut dire que ce long terme explique une notion très basique. La chose remarquable à ce sujet est que tout le code de travail dans les différentes classes n'a pas besoin de connaître la classe qu'il utilise car leur mode d'utilisation est le même.
Envisagez un scénario réel pour le polymorphisme. Prenons l'exemple d'un bouton. Nous savons que nous pouvons cliquer sur le bouton en appliquant une certaine pression, mais nous ne connaissons pas le résultat de la pression sur le bouton ni la référence de son utilisation. Le point à noter ici est que le résultat n’affectera pas la façon dont il est utilisé dans les deux cas.
Le but fondamental est donc de fabriquer des objets interchangeables en fonction des besoins.
Lorsqu'une classe enfant a la même méthode que celle déclarée dans la classe parent, nous appelons cela une substitution de méthode.
Ou en d'autres termes, si une classe enfant fournit l'implémentation de la méthode que sa classe parent a déclarée, on parle de substitution de méthode. Certaines choses à retenir lors du remplacement de méthode sont :
Lorsqu'une classe possède plusieurs méthodes portant le même nom mais des paramètres différents, on parle de surcharge de méthode.
Supposons que nous devions effectuer une seule opération, alors avoir le même nom que les méthodes augmenterait la lisibilité du programme. Les moyens de surcharger la méthode en Java sont :
Cependant, en Java, ce n'est pas possible si l'on change uniquement le type de retour de la méthode.
Outre le polymorphisme dynamique et le polymorphisme statique, certaines caractéristiques de la programmation Java présentent un polymorphisme autre que les deux types principaux.
Il s'agit de la coercition, des paramètres polymorphes et de la surcharge des opérateurs
Comprenons la coercition avec un exemple très simple. Considérons une chaîne avec la valeur « classe de coercition : ». Considérons un autre entier avec la valeur 1. Maintenant, que se passe-t-il lorsque vous concaténez une valeur de chaîne avec une valeur entière ? Le résultat de cette concaténation serait « classe de coercition : 1 ». C'est ce qu'on appelle la Coercition. La conversion de type implicite est effectuée pour éviter les erreurs de type. Le compilateur le fait.
Avant de commencer par la surcharge d'opérateurs, également connue sous le nom de surcharge de méthodes, passons en revue un exemple. Considérons une chaîne avec la valeur « Opérateur » et une autre chaîne comme « Surcharge ». Utilisez le symbole plus (+) avec ces deux chaînes, tout comme vous ajoutez deux entiers. Le (+) concatènera ces deux chaînes. Dans le cas de deux entiers, la somme de deux entiers est renvoyée. Lorsqu'un symbole ou un opérateur a la capacité de changer de signification en fonction de la façon dont il est utilisé, le type de polymorphisme présenté est appelé surcharge d'opérateur.
Dans le polymorphisme, un objet peut apparaître sous plusieurs formes. En Java, il s'agit d'autoriser l'accès à un objet de l'une des manières suivantes, comme –
1. en utilisant la variable de référence de sa classe parent ou superclasse
2. en utilisant la variable de référence de la classe dans laquelle elle existe.
La principale raison pour laquelle le polymorphisme est nécessaire est que ce concept est largement utilisé dans la mise en œuvre de l'héritage. Il joue un rôle important en permettant aux objets d'avoir des structures internes variées en partageant la même interface externe. Il est clairement indiqué comme étant cartographié pour beaucoup.
La liaison consiste à connecter un appel de méthode au corps de la méthode. Nous avons deux types de reliure.
Liaison statique (liaison anticipée) : Lorsque le type d'objet est déterminé au moment de la compilation.
Liaison dynamique (liaison tardive) : Lorsque le type d'objet est déterminé au moment de l'exécution.
Elle est ainsi considérée comme l’une des fonctionnalités très importantes de la Programmation Orientée Objet. Si vous parlez d'un exemple concret de polymorphisme, il se pourrait qu'une personne puisse en même temps avoir des caractéristiques différentes ; par exemple, un homme est à la fois un fils, un mari et un employé. Ainsi, la même personne acquiert un comportement différent selon les situations. Ceci, en termes orientés objet, s'appelle le polymorphisme, une caractéristique importante de la programmation orientée objet.
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!