En tant que troisième caractéristique majeure de Java - le polymorphisme, tout le monde doit le connaître, mais je pense qu'il y a toujours un certain flou sur ce concept abstrait. Je pense qu'en Java, j'ai donné beaucoup d'explications dans ce chapitre, et j'en ai spécifiquement expliqué trois. question.
1.多态解决了什么问题? 2.什么是多态? 3.多态的扩展
Le polymorphisme résout le problème du découplage des types. Le polymorphisme nous empêche de prêter attention au type spécifique. La conception du polymorphisme est de nous faire oublier les types. Comme nous n’avons pas besoin de prêter attention à des types spécifiques, nous pouvons réutiliser une grande partie du code et utiliser un morceau de code pour résoudre des problèmes similaires. Cela joue un rôle important dans notre processus de développement. Ce découplage réduit l’implication de chaque couche. En général, le problème résolu par le polymorphisme est le découplage des types. Idéologiquement parlant, cela nous fait oublier les genres.
Quand je pose cette question, vous pouvez inconsciemment penser que je veux donner des explications très abstraites et conceptuelles. En fait, ce que je veux expliquer, ce ne sont pas ces choses conceptuelles. Ce sont directement Baidu. Alors revenons au sujet, qu’est-ce que le polymorphisme ? Le polymorphisme a en fait d'autres noms, mais je préfère l'un d'entre eux, la liaison d'exécution.
Lorsque nous expliquons ce mot, comprenons d’abord la liaison. La liaison est divisée en liaison de pré-exécution et liaison d'exécution. La liaison avant l'exécution signifie que le programme connaît déjà le type spécifique de la méthode à utiliser lorsque le programme n'est pas lié. Au contraire, la liaison d'exécution signifie que le programme ne connaît pas le type de méthode spécifique utilisé avant son exécution. Seul le moteur d'exécution connaît le type de méthode spécifique utilisé. Cela a également pour effet de ne pas avoir besoin de connaître le type spécifique.
Le mécanisme global de Java consiste à utiliser la liaison d'exécution. Sauf propriétés et méthodes privées et statiques.
Nous savons que le polymorphisme ne peut contrôler que les méthodes de la classe parent, et ne peut pas faire fonctionner les méthodes étendues par la sous-classe, mais nous rencontrerons certainement cette condition. Ensuite, à ce moment-là, nous ne pouvons plus utiliser la conversion vers le haut et vers le bas. Mais il y a un problème ici, c'est-à-dire que nous ne savons pas si ce type est le type que vous convertissez, et il y aura des erreurs de conversion. Ceci n'est pas sûr en C++, mais il existe un mécanisme en Java qui est la conversion descendante. Vous devez forcer la conversion à vérifier, afin que le contrôle de sécurité puisse être réalisé. Dans le cas contraire, une erreur ClassCastException sera signalée.
Recommandations associées :
Compréhension approfondie de les trois fonctionnalités majeures de Java Polymorphic
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!