Java >> Tutoriel Java >  >> Java

Polymorphisme en Java

Qu'est-ce que le polymorphisme ?

Le polymorphisme est la capacité d'un objet à avoir une forme différente. Ainsi, polymorphisme signifie littéralement que le mot polymorphisme signifie avoir différentes formes et chaque fois que vous définissez un objet, un objet de classe devrais-je dire et sa propriété et sa qualité ayant de nombreuses formes s'appellent polymorphisme.

Comment pouvons-nous rendre nos classes polymorphes ou comment vous pouvez définir un objet qui suit le polymorphisme.

Ici, je vais donner un exemple.

J'ai donc défini quatre classes. L'une s'appelle la classe bank, qui sera ma classe de base et cette classe bank contient trois ou une méthodes.

package lesson1;

public class Bank {
   int getInterestRate() {
         return 0;
   }
 }

Cette méthode de classe de base donne simplement le taux d'intérêt, nous allons donc définir cette méthode comme obtenir le taux d'intérêt. Et parce que c'est une classe de base, elle renverra 0 comme intérêt.

Nous avons également défini Bank_ABC classe, Bank_DEF classe et Bank_XYZ classe.

Donc, si vous ne savez pas comment créer une classe, faites un clic droit sur nouveau, allez à la classe et nommez ici la classe. C'est ainsi que j'ai créé ces classes.

Donc l'une s'appelle la classe banque qui sera ma classe principale.

Deuxièmement, la classe s'appelle Bank_ABC , qui s'étend de la classe bancaire car la classe bancaire est notre classe de base et Bank_ABC est notre classe dérivée. Et cela contient aussi la même méthode mais cela renvoie le taux d'intérêt ou cette banque a un taux d'intérêt =5%.

package lesson1;

 public class_BankABC extends Bank {
         int getInterestRate() {
             return 5;
         }
 }

Bank_DEF, qui s'étend également de la classe Bank, a un taux d'intérêt de 6 %. J'ai donc défini ici une méthode qui renvoie 6%. Simple !

package lesson1;

 public class_BankDEF extends Bank {
         int getInterestRate() {
             return 6;
         }
  }

Et la classe Bank XYZ qui s'étend également de Bank. Il s'agit donc de la classe dérivée et de la classe de base. La même méthode permet d'obtenir le taux d'intérêt et le taux d'intérêt de cette banque est de 10 %.

package lesson1;

 public class_BankXYZ extends Bank {
        int getInterestRate() {
             return 10;
         }
 }

J'ai donc la même méthode dans les quatre classes pour obtenir le taux d'intérêt et la seule différence dans cette fonction est le taux d'intérêt. La banque principale elle-même a 0, la Banque ABC a un taux d'intérêt de 5 %, la Banque DEF a un taux d'intérêt de 6 % et la Banque XYZ a un taux d'intérêt de 10 %.

Il y a maintenant une propriété en Java appelé polymorphisme par lequel vous pouvez définir la référence ou vous pouvez pointer la référence à une classe de base vers n'importe quel objet de la classe dérivée. Donc, ce que je veux dire par là, c'est que lorsque l'objet de référence ou la référence d'une classe parente pointe vers l'objet de la sous-classe, cela s'appelle un transtypage ascendant. Et c'est l'extrait de base que vous connaissez du polymorphisme. Donc notre, nous allons définir la référence de notre classe Bank où nous allons juste définir Bank b1 =ou Bank abc=. Il s'agit donc de la référence à la classe Bank qui pointera vers l'objet de Bank ABC, qui est une classe enfant.

package lesson1;

 public class MyClass {
    public static void main(string[] args) {
      Bank abc = new Bank_ABC();
     }

 }

et c'est ce que nous appelons le polymorphisme. Lorsqu'un objet peut avoir une forme différente Ainsi, l'objet de la classe Bank a la forme de Bank ABC.

Donc la référence de la classe Bank pointant vers l'objet de la classe Bank ABC. De la même manière, nous pouvons définir différents objets à partir d'ici. Vous pouvez définir Bank def et ici aussi Bank DEF et Bank xyz et Bank XYZ..

package lesson1;

 public class MyClass {
    public static void main(string[] args) {
        Bank abc = new Bank_ABC();
        Bank def = new Bank_DEF();
        Bank xyz = new Bank_XYZ();
       }

}

Alors et voyons voir qu'il avait le même nom ou pas. Cela devrait être souligné. Nous avons donc défini trois références de la classe bank elle-même qui pointe vers les sous-classes ou l'objet des sous-classes. La référence abc pointe vers l'objet de la classe Bank_ABC, la référence def pointe vers l'objet de référence de la classe DEF et la référence xyz pointe vers l'objet de la classe XYZ. Et je peux appeler toutes ces méthodes obtenir des taux d'intérêt à partir de toutes ces références. Donc je peux juste écrire syso ctlr shift et de la même manière je le ferai trois fois. et la première fois, je prendrai abc comme objet et j'appellerai simplement get interest rate et dans la deuxième déclaration, je collerai def.getinterestrate et la troisième fois, je collerai xyz comme instance et j'appellerai getinterestrate.

package lesson1;

 public class MyClass {
    public static void main(string[] args) {
        Bank abc = new Bank_ABC();
        Bank def = new Bank_DEF();
        Bank xyz = new Bank_XYZ();

        System.out.print1n(abc.getInterestRate());
        System.out.print1n(def.getInterestRate());
        System.out.print1n(xyz.getInterestRate());

      }
 }

Et quand j'exécute le programme, j'obtiens 5,6 et 10.

package lesson1;

 public class MyClass {
    public static void main(string[] args) {
        Bank abc = new Bank_ABC();
        Bank def = new Bank_DEF();
        Bank xyz = new Bank_XYZ();

        System.out.print1n(abc.getInterestRate());
        System.out.print1n(def.getInterestRate());
        System.out.print1n(xyz.getInterestRate());

      }

Ainsi, ce type de référence définissant une référence à partir de l'objet de sous-classes est appelé polymorphisme et tout ce que vous savez, les fonctions membres, sont disponibles via cette référence. Donc, ce taux d'intérêt est disponible ici dans toutes les classes. Et cette banque ABC donne un taux d'intérêt de 5 %, donc c'est un rendement de 5. La banque DEF donne un taux d'intérêt de 6 %, donc elle revient et la banque XYZ donne un taux d'intérêt de 10 %, donc elle renvoie 10. Mais ce qui est intéressant ici, c'est que tous font l'objet de banque ou toutes les références pointent vers des objets différents mais tous les objets appartiennent à la classe bank.

Voilà donc comment fonctionne le polymorphisme en Java.


Balise Java