méthodes surchargées sont des méthodes de la même classe qui partagent le même nom, mais acceptent différents types de variables comme arguments. Par exemple, une classe peut contenir deux méthodes "add" différentes: l'une qui accepte deux valeurs doubles , "ajouter (le double a, double b ),« et celui qui accepte deux valeurs entières , " add ( int a , int b). «L'ordinateur détermine automatiquement la méthode à appeler au moment de l'exécution sur la base des types de variables sont passés à la méthode . Flexibilité méthodes surchargées donnent la flexibilité d'appeler une méthode similaire pour les différents types de données programmeurs. Si vous travaillez sur un programme de mathématiques , par exemple , vous pouvez utiliser la surcharge de créer plusieurs classes de « multiplier » , dont chacun multiplie un nombre différent de type d'argument : le plus simple » se multiplient ( int a , int b ) " , multiplie deux nombres entiers , le plus compliqué méthode " se multiplient (le double a, int b , int c) " multiplie un lit double de deux nombres entiers - vous pouvez alors appeler "multiplier " sur n'importe quelle combinaison de variables que vous avez créé une surcharge méthode et de recevoir le bon résultat . constructeurs surcharge est également utilisé sur les constructeurs pour créer de nouveaux objets donnés différentes quantités de données. Par exemple , vous pouvez utiliser la surcharge de créer trois constructeurs différents pour un objet " House" avec un numéro de rue, nom de la rue et les variables de couleur. La "Maison ()" simple constructeur ne prend aucun argument et crée une maison avec défaut ou des variables vides. Un constructeur plus complexe , "House (int numéroMaison , String streetName ) , " crée une maison avec le numéro de la maison spécifié et nom de rue, mais une couleur par défaut ou vide. Le constructeur le plus complexe , "House (int numéroMaison , String streetName , la couleur des cordes ) , " crée une maison avec toutes les informations spécifiées , ne laissant rien par défaut. Vous pouvez ensuite créer un objet de la maison sur la base des informations actuellement disponibles , les informations disponibles laissé vide ou à défaut. Ambiguës Références méthodes surchargées doivent utiliser des chiffres ou des types d'arguments différents pour éviter toute ambiguïté . Si vous créez deux méthodes dans la même classe qui ont le même nom et acceptent deux entiers comme arguments , le compilateur Java sera incapable de faire la distinction entre les deux, même si les variables d'entrée ont des noms différents . Par exemple , la méthode " add ( int a , int b ) " ne peut pas exister dans la même classe que la méthode "add (int c , int d) . " Types de retour Vous devez définir un type de retour pour chaque méthode surchargée . Les méthodes peuvent avoir différents types de retour - par exemple, « add ( int a , int b ) " peut retourner un entier , alors que " ajouter (double a, double b ) " renvoie un double. Cependant , Java ne peut pas distinguer entre deux méthodes différentes en fonction de leur type de retour. Par conséquent, " int multiplient ( double A , double b ) " ne peut pas exister dans la même classe que "double multiplient ( double A , double b). " < Br >
|