Voyons d'abord ce que son nom suggère à première vue. « Surcharge » signifie : imposer une charge supplémentaire aux fonctionnalités d'origine de quelqu'un, n'est-ce pas ? Pendant ce temps, « Remplacer » signifie fournir de nouvelles fonctionnalités en plus des fonctionnalités d’origine de quiconque. Dans cet article, nous examinerons en détail la surcharge et le remplacement en Java. Oui, leur implémentation par programmation en Java suit la même approche. Jetons-les un par un.
Lorsqu'une classe Java a plusieurs méthodes portant le même nom mais avec des arguments différents, nous l'appelons surcharge de méthode. En gardant le même nom, nous augmentons simplement la lisibilité du code du programme. Par exemple, supposons que nous devions effectuer une opération d’addition sur certains nombres donnés. Disons que le nom de notre méthode est « addition() ». Ici, l'addition peut se faire entre deux, trois ou plus. Ainsi, en fonction du nombre de nombres qui seront impliqués dans l’opération supplémentaire, nous pouvons modifier les arguments (ou paramètres) de la fonction. Mais au lieu de cela, si vous écriviez différentes méthodes pour un nombre différent d’arguments, cela serait difficile à reconnaître car le nom serait différent. Ainsi, en surchargeant, nous obtenons une meilleure lisibilité de notre code. Alors maintenant, la question est : comment allons-nous parvenir à la surcharge ?
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Regardons-les un par un avec des exemples de codes.
Alors ici, nous allons faire des opérations supplémentaires sur certains nombres. Pour cela, créons une classe appelée « AdditionOperation ». Dans cette classe, ayons deux méthodes nommées « addition() ». Dans l’une de ces méthodes, nous ajouterons deux nombres. Dans l’autre, nous ajouterons trois nombres. Nous y parviendrons en modifiant le nombre de paramètres dans ces méthodes, mais nous garderons le même nom. De cette façon, nous surchargeons ici la méthode « addition() ».
Code :
public class AdditionOperation { static int addition(int num1,int num2){return num1+num2;} //function declarationand definition for addition of two numbers static int addition(int num1,int num2,int num3){return num1+num2+num3;} //function declarationand definition for addition of three numbers public static void main(String args[]) { system.out.printin(addition(35,36)); //method overloading system.out.printin(addition(35,36,37)); //method overloading, we are calling same methods but for different number of arguments. } }
Sortie :
Ici, nous allons faire une opération d'addition sur différents types, par exemple entre les types entiers et doubles. Pour cela, créons une classe appelée « AdditionOperation ». À l’intérieur de cette classe, ayons deux méthodes nommées « addition() ». Dans l’une de ces méthodes, nous ajouterons deux entiers. Dans l’autre, nous ajouterons deux doubles. Nous y parviendrons en changeant le type de paramètres dans ces méthodes, mais nous garderons le même nom. De cette façon, nous surchargeons ici la méthode « addition() ».
Code :
public class additionOperation { static int addition(int num1,int num2){return num1+num2;} //function declarationand definition for addition of two numbers static double addition(double num1,num2){return num1+num2;} //function declarationand definition for addition of three numbers public static void main(String args[]) { system.out.printin(addition(35,36)); //method overloading system.out.printin(addition(35.5,36.6)); //method overloading, we are calling same methods but for different type of arguments. } }
Sortie :
Points à noter en cas de surcharge
Code:
//Parent or Super class class Parent { public void display() { system.out.printin("Hello, I am from parent class"); } } //Child or sub class class Sub extends Parent { //Below method overrides the Parent display() method // @override public void display() { system.out.printin("Hello, I am from child class"); } } //Driver class public class Overriding { public static void main?(String args[]) { Parent superObject = new Parent (); superObject.display(); // Super class method is called Parent subObject = new Sub(); subObject.display(); //Child class method is called by a parent type reference: this is functionality of method overriding Sub subObject2 = new Sub(); //Child class method is called by a child type reference subObject2.display(); } }
Output:
Limitations in method Overriding:
Points to be Noted for Overriding
This concludes our learning of the topic “Overloading and Overriding in Java”. Write the codes mentioned above in the java compiler and check the output. Learning codes will be incomplete if you do not do hands-on by yourself, enhancing your coding skills. Happy coding!!
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!