La surcharge dans .net signifie qu'il existe plusieurs méthodes portant le même nom dans la même classe, mais les listes de paramètres et les types de valeurs de retour de ces méthodes sont différents. Il convient de noter que le concept de surcharge n'entre pas dans le cadre de la programmation orientée objet. Du point de vue du compilateur, différentes listes de paramètres et différents types de valeurs de retour signifient différents noms de méthode. En d’autres termes, l’adresse de la méthode a été déterminée au moment de la compilation et constitue une liaison statique.
À partir de l'exemple, nous résumons les caractéristiques de base de la surcharge, notamment :
La surcharge existe dans la même classe.
Les méthodes surchargées doivent avoir le même nom de méthode, des listes de paramètres différentes et les types de valeurs de retour peuvent être identiques ou différents (un certain degré de surcharge des valeurs de retour peut être obtenu via un opérateur implicite, mais c'est non recommandé).
.NET 2.0 introduit une technologie générique, de sorte que la même liste de paramètres et le même type de valeur de retour peuvent également constituer une surcharge.
La surcharge signifie que plusieurs fonctions ont exactement le même nom mais des types ou numéros de paramètres différents. Les appels réels seront distingués par des types de paramètres
Par exemple, vous avez maintenant 2 fonctions Max
. 1)
int Max(int i,int j) { }
2)
float Max(float i,float j) { }
Dans votre programme
int i,j,k; k=Max(i,j);//将调用第一个Max float x,y,z; z=Max(x,y);//将调用第二个Max
Évidemment surchargé Il a aussi un polymorphisme, mais ce polymorphisme est basé sur le polymorphisme au niveau du code d'origine. Les deux fonctions Max ci-dessus ont le même nom dans le texte, mais après compilation, les noms internes sont différents et certaines informations telles que les types de paramètres doivent être ajoutées. compilation de noms. Lors de la compilation du code source qui appelle Max, le compilateur sélectionne et appelle la fonction Max correcte en fonction des paramètres lors de l'appel de
.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!