Java >> Tutoriel Java >  >> Tag >> class

Java étend la classe | Interface | Mot clé | Exemple de classe multiple

Le mot clé Java extend est utilisé dans l'héritage Java. Lorsqu'une classe veut hériter de la propriété d'une autre classe ou qu'une interface hérite de la propriété d'une autre interface, le code Java utilisait alors un mot clé extend. C'est un mot-clé très important dans la programmation Java.

Dans ce didacticiel, nous découvrirons la classe et l'interface Java Extends avec de nombreux exemples. Mais avant de commencer, vous devez avoir des connaissances de base sur les sujets ci-dessous.

  • Qu'est-ce qu'une classe et une déclaration Java ?
  • Interface Java | Définition, Utilisation, Méthodes | Qu'est-ce que?
  • Héritage | Types d'héritage en Java

Brèves informations sur l'héritage : Un héritage permet simplement à une classe ou interface d'hériter des propriétés d'une autre classe ou héritage.

Supposons que dans votre programme Java, vous ayez déjà une classe existante en tant que classe parent. Maintenant, vous voulez créer une autre classe en tant que sous-classe. Où cette sous-classe a les mêmes méthodes et autres propriétés de la classe Parent (ou d'une autre classe). Donc vous saviez qu'il y a une autre classe qui a aussi la même classe alors pourquoi devrait-on écrire encore et encore le même code ?

NON, vous n'avez pas besoin d'écrire un nouveau code dans les langages de programmation OOP. Vous devez simplement utiliser les extensions mot-clé dans la déclaration de la classe enfant qui rend automatiquement chaque méthode disponible dans cette classe.

Remarque  :il y a un autre mot-clé "implémente" utilisé, qui nous en discuterons dans un autre tutoriel.

Syntaxe :

Comment utiliser le mot-clé extend dans la syntaxe de classe.

public classOne extends ClassBTwo {

}

La syntaxe de l'interface utilisée étend le mot-clé.

public interface OtherInterface extends MyInterface {

}

Exemple d'extension Java

Voici un exemple de la façon d'étendre une classe en Java. Ici, la classe Hello étend la classe Add, de sorte que les méthodes de la classe Add "addMethods" peuvent être utilisées dans la classe Hello lors de la création de l'objet.

class Add {
    static int addMethod(int a, int b) {
        return a + b;
    }
}

class Hello extends Add {

    public static void main(String[] args) {
        //calling a methods without using a instance
        int total = addMethod(2, 3);
        System.out.println("Addition of number is " + total);
    }

}

Sortie : L'addition du nombre est 5

Vous pouvez également étendre l'interface Java, voici un exemple de la façon de faire l'interface d'extension en Java. Mais rappelez-vous que l'interface ne peut "étendre" que l'interface et non une classe.

interface LivingThing{
public void eat();
}

interface Dog extends LivingThing{
public void Bark();
}

Étend plusieurs classes en Java

Parfois, vous devez hériter des méthodes de 2 classes ou plus, à ce moment-là, vous aviez besoin de plusieurs extensions de classes. Voici Java extend 2 (deux) classes.

#Premier chemin (mauvais)

Si vous essayez un héritage multiple, cela ne fonctionnera pas, il n'est pas pris en charge en Java. Voir le code ci-dessous avec un message d'erreur si vous étendez 2 classes en Java.

#Deuxième voie

Une autre façon est de le faire avec un héritage multiniveau. Mais encore, cette solution n'est pas parfaite car alors la classe moyenne doit faire du travail supplémentaire et du code inutile. Voir l'exemple ci-dessous.
class Add {
    static int addMethod(int a, int b) {
        return a + b;
    }
}

class Multiply extends Add{
    static int multMethod(int a, int b) {
        return a * b;
    }
}

class Hello extends Multiply {

    public static void main(String[] args) {
        //calling a methods without using a instance
        int total = addMethod(2, 3);
        int mult = multMethod(2,3);
        System.out.println("Addition of number is " + total);
        System.out.println("Multiplication of number is " + mult);
    }

}

Sortie : L'addition du nombre est 5
La multiplication du nombre est 6

#Troisième Voie L'utilisation d'une interface peut résoudre le problème, mais cette fois, vous devez utiliser un mot-clé implement. Vérifiez le code de programme ci-dessous pour les implémentations d'extensions Java.
interface Add {
    default int addMethod(int a, int b) {
        return a + b;
    }
}
interface Multiply extends Add {
    default int multMethod(int a, int b) {
        return a * b;
    }
}

class MyMath implements Add, Multiply {

}
class Hello extends MyMath{

    public static void main(String[] args) {
        MyMath myMath = new MyMath();
        int total = myMath.addMethod(2, 5);
        int mult = myMath.multMethod(3, 4);

        System.out.println("Addition of number is " + total);
        System.out.println("Multiplication of number is " + mult);
    }

}

C'est la meilleure solution que nous ayons obtenue pour les classes Java extend 2, si vous avez des commentaires à faire dans la section ci-dessous.

Question. Pouvons-nous utiliser les extensions java et les implémenter à la fois en classe ?

Réponse : Oui nous pouvons. Voici un exemple de la façon de le faire.

class Hello extends Multiply implements Message{
....
}

Exemple complet.

interface Message {
   default void msg() {
        System.out.println("interface ");
    }
}

class Multiply {
    static int multMethod(int a, int b) {
        return a * b;
    }
}

class Hello extends Multiply implements Message{

    public static void main(String[] args) {

        int mult = multMethod(3, 4);
        System.out.println("Multiplication of number is " + mult);

        Hello hello = new Hello();
        hello.msg();
    }

    @Override
    public void msg() {
        System.out.println("Java extends and implements examples");
    }
}

N'hésitez pas à commenter si vous avez des doutes et des suggestions sur ce tutoriel.


Balise Java