Maison développement back-end Tutoriel C#.Net Qu'est-ce que la surcharge dans .net ?

Qu'est-ce que la surcharge dans .net ?

Apr 27, 2019 am 11:40 AM
net 重载

Qu'est-ce que la surcharge dans .net ?

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)
{
}
Copier après la connexion

2)

float Max(float i,float j)
{
}
Copier après la connexion

Dans votre programme

int i,j,k;
k=Max(i,j);//将调用第一个Max
float x,y,z;
z=Max(x,y);//将调用第二个Max
Copier après la connexion

É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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Correction du code d'erreur 0x800713ec.NET Framework Correction du code d'erreur 0x800713ec.NET Framework Mar 07, 2024 am 10:07 AM

Si vous rencontrez l'erreur .NET Framework 0x800713ec lors de l'installation d'un programme sous Windows 11/10, vous pouvez utiliser certaines méthodes pour résoudre le problème. Cette erreur est généralement due au fait que vous ne disposez pas de la bonne version de .NET Framework, mais il peut y avoir d'autres causes. Nous explorons ici quelques causes profondes courantes pour vous aider à identifier votre problème et à le résoudre le plus rapidement possible. L'intégralité du message d'erreur ressemble à ceci : Un ou plusieurs problèmes ont provoqué l'échec de l'installation. Veuillez résoudre le problème et réessayer l'installation. Consultez le fichier journal pour plus de détails. 0x800713ec Correction du code d'erreur 0x800713ec.NET Framework Pour corriger le code d'erreur 0x800713ec.NET Framework, suivez les solutions ci-dessous

Huawei lance la montre intelligente Watch GT 5 en Europe et au Royaume-Uni en deux tailles avec un cadeau de lancement anticipé Huawei lance la montre intelligente Watch GT 5 en Europe et au Royaume-Uni en deux tailles avec un cadeau de lancement anticipé Sep 20, 2024 am 06:47 AM

Huawei a maintenant commencé à vendre la Watch GT 5, qui a fait ses débuts mondiaux aux côtés de la Watch GT 5 Pro et de la Watch D2. En plus de cela, Huawei a également présenté aujourd'hui les MatePad Pro 12.2 et MatePad 12 X en dehors de la Chine, dont nous avons les détails.

Comment surcharger les fonctions Golang ? Comment surcharger les fonctions Golang ? Apr 28, 2024 am 09:27 AM

La surcharge de fonctions traditionnelle n'est pas prise en charge dans Go, mais peut être simulée à l'aide des techniques suivantes : Valeurs de retour multiples : les fonctions avec la même signature de méthode mais des types de retour différents peuvent être surchargées. Variadics : utilisez la syntaxe ... pour créer des fonctions qui reçoivent un nombre variable d'arguments, permettant de gérer les appels de méthode avec différentes signatures.

Pratique de développement d'applications multiplateformes .NET Core : un parcours fluide de Windows à Linux et macOS Pratique de développement d'applications multiplateformes .NET Core : un parcours fluide de Windows à Linux et macOS Feb 26, 2024 pm 12:55 PM

Avec le lancement de .NETCore, les développeurs .NET disposent d'une nouvelle opportunité pour écrire et exécuter facilement des applications .NET sur plusieurs systèmes d'exploitation. Cet article expliquera comment utiliser .NETCore pour réaliser le développement d'applications multiplateformes et partagera les meilleures pratiques sur les systèmes d'exploitation tels que Windows, Linux et macOS. 1. Préparez l'environnement de développement. Pour démarrer le développement d'applications multiplateformes, vous devez d'abord préparer l'environnement de développement pour chaque plateforme cible. Windows Sous Windows, vous pouvez installer .NETCoreSDK via Visual Studio. Une fois l'installation terminée, vous pouvez créer et exécuter des projets .NETCore via Visual Studio. Li

Quelle est la différence entre la surcharge de la fonction Golang et le polymorphisme ? Quelle est la différence entre la surcharge de la fonction Golang et le polymorphisme ? Apr 30, 2024 am 09:30 AM

La surcharge de fonctions n'est pas prise en charge dans le langage Go car il adopte le typage duck et détermine le type de valeur en fonction du type réel. Le polymorphisme est obtenu grâce aux types d'interface et aux appels de méthodes, et les objets de différentes catégories peuvent répondre de la même manière. Plus précisément, en définissant des interfaces et en implémentant ces méthodes, le langage Go peut faire en sorte que des objets de différents types aient des comportements similaires, prenant ainsi en charge le polymorphisme.

Comment implémenter le polymorphisme et la surcharge en langage Go ? Comment implémenter le polymorphisme et la surcharge en langage Go ? Jun 10, 2023 am 10:25 AM

En tant que langage typé statiquement, le langage Go ne semble pas capable d'implémenter le polymorphisme et la surcharge comme les langages dynamiques. Cependant, le langage Go utilise les caractéristiques des interfaces pour réaliser le polymorphisme, et la mise en œuvre de la surcharge est plus simple et plus précise. Méthodes pour implémenter le polymorphisme L'interface du langage Go peut implémenter le polymorphisme pendant le processus d'appel. L'interface peut décrire le comportement d'un objet. Tout type qui implémente toutes les méthodes de l'interface peut être appelé une instance du type d'interface. De cette manière, le polymorphisme peut être obtenu en définissant simplement le type d’interface et en implémentant différents types concrets. Ci-dessous se trouve un

La fonction PHP prend-elle en charge la surcharge et le remplacement de fonctions ? La fonction PHP prend-elle en charge la surcharge et le remplacement de fonctions ? Apr 19, 2024 am 10:06 AM

Le langage PHP ne prend pas en charge la surcharge de fonctions ni la couverture de fonctions, car la surcharge de fonctions peut conduire à une ambiguïté. Alternative : utilisez des espaces de noms pour isoler les fonctions. Définissez les valeurs par défaut des paramètres. Utilisez des arguments de fonction variadiques.

Quelles sont les différences entre nosql et mysql Quelles sont les différences entre nosql et mysql Jan 28, 2023 pm 04:51 PM

Différences : 1. MySQL est une base de données relationnelle, tandis que NoSQL est non relationnelle. 2. Les restrictions du mode strict de MySQL ne sont pas faciles à étendre, alors que NoSQL est facile à étendre. 3. MySQL nécessite un modèle de base de données détaillé avant de créer une base de données, ce qui n'est pas requis dans NoSQL. 4. MySQL fournit un grand nombre d'outils de reporting, mais pas nosql. 5. Par rapport à MySQL, NoSQL offre une conception plus flexible. 6. Le langage standard utilisé dans MySQL est SQL, tandis que NoSQL ne dispose pas d'un langage de requête standard.

See all articles