Maison  >  Article  >  Java  >  Surcharge et remplacement des méthodes JAVA

Surcharge et remplacement des méthodes JAVA

PHP中文网
PHP中文网original
2017-06-22 14:25:221330parcourir

Surcharge de méthode : (utilisée pour implémenter la même fonction, mais nécessite des paramètres différents pour satisfaire différents utilisateurs) dans la même classe.

signifie que plusieurs méthodes avec le même nom, des valeurs de retour identiques ou différentes, mais des paramètres différents (nombre de paramètres ou types de paramètres) peuvent être définis dans une classe. Lors de l'appel, utilisez la surcharge, qui permet aux utilisateurs d'utiliser l'API de manière simple et pratique. Il n'est pas nécessaire de donner des noms différents aux méthodes ayant la même fonction, ce qui est pratique pour les utilisateurs. Pour les utilisateurs, faire la même chose revient à appeler la même fonction. Les constructeurs peuvent également être surchargés. Tant que le programme définit sa propre méthode de construction, le système ne fournit pas de méthode de construction par défaut.

Remplacement de méthode (réécriture) : (Les sous-classes remplacent les méthodes de la classe parent, dans différentes classes)

Remplacement de méthode (remplacement/écrasement)

Différence avec surcharge : la surcharge de méthode consiste à définir plusieurs fonctions dans une classe avec le même nom, le même type de retour, mais des paramètres différents

Lors de l'écrasement d'une méthode : il est préférable d'utiliser cette fonction de la classe parent copiée

1. Dans la sous-classe, les méthodes héritées de la classe de base peuvent être réécrites selon les besoins.

2. La méthode remplacée doit avoir le même nom de méthode, la même liste de paramètres et le même type de retour que la méthode remplacée.

3. Les méthodes remplacées ne peuvent pas utiliser des droits d'accès plus restrictifs que la méthode remplacée.

Ordre strict private>default>protecte>public, ceci est lié au polymorphisme, vous le comprendrez beaucoup plus lorsque vous parlerez de polymorphisme. Lorsqu'un certain endroit est modifié par la classe parent, une méthode de la classe parent peut être appelée. Si la sous-classe a un accès plus strict à cette méthode, elle peut devenir inaccessible lors du passage de la sous-classe sur

Polymorphisme de Java : surcharge + écrasement

Question : Quel mécanisme est utilisé en Java pour implémenter le polymorphisme ?

Le polymorphisme est l'une des fonctionnalités orientées objet de Java. Différentes expressions du polymorphisme sont obtenues en Java grâce à la surcharge et à l'écrasement. Mais il y a une différence entre les deux.

1) Surcharge

La surcharge des méthodes en Java fait référence au fait que plusieurs méthodes peuvent être créées dans une classe. Elles ont le même nom mais des colonnes d'arguments différentes (type et numéro de paramètre). et des définitions différentes. Les types de valeurs de retour peuvent être identiques ou différents, mais les fonctions surchargées ne peuvent pas être distinguées simplement par des valeurs de retour différentes. Lors de l’appel d’une méthode, la liste de paramètres est utilisée pour déterminer quelle méthode appeler. La surcharge est une manifestation du polymorphisme dans une classe.

2) Remplacement

En Java, les sous-classes peuvent hériter des méthodes des classes parents par défaut sans réécrire les mêmes méthodes, mais parfois, les sous-classes ne veulent pas hériter des méthodes de la classe parent inchangées , mais en apportant certaines modifications, s'obtient en remplaçant la méthode (également appelée écrasement). L'écrasement en Java fait référence à la modification de la partie implémentation de la même fonction avec le même nom dans la classe parent de la sous-classe, tout en gardant cohérents le nom de la méthode, le type de retour et la liste des paramètres de la méthode dans la classe parent. Autrement dit, la sous-classe redéfinit les fonctions de la classe parent et les nouvelles méthodes de la sous-classe écraseront les méthodes d'origine de la classe parent. La substitution est une expression polymorphe entre la classe parent et la sous-classe.

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