Étend vs implémente en Java
-
Hériter d’une classe en utilisant le mot-clé
extends
en Java -
Hériter d’une interface à l’aide du mot-clé
implements
en Java
Pour réutiliser les propriétés et les comportements d’une classe parente donnée en Java, nous utilisons le concept d’héritage qui est une partie importante d’un langage de programmation orienté objet. L’idée derrière cela est la réutilisation du code. Les mots-clés implements
et extends
sont utilisés pour créer une nouvelle classe en Java qui possède les attributs de la classe parent.
Nous pouvons avoir une meilleure compréhension des mots-clés extends
et implements
en utilisant le tableau ci-dessous.
Définition | Mise en œuvre | Classer | Interface | Méthodes | |
---|---|---|---|---|---|
extends |
Lorsqu’une sous-classe (enfant) extends une classe de base (parente), elle permet à la sous-classe d’hériter du code défini dans la classe de base. |
Une classe peut hériter d’une autre classe. Une interface peut hériter d’une autre interface en utilisant le mot-clé extends . |
Une classe ne peut étendre qu’une seule classe. | N’importe quel nombre d’interfaces peut être étendu par une interface. | La classe de sous-classe étend une classe parente peut ou non remplacer toutes les méthodes de la classe de base. |
implements |
Le mot clé implements est utilisé pour implémenter une interface. Une interface contient des méthodes abstraites. Le corps de la méthode est défini dans la classe qui l’implémente. |
En utilisant le mot-clé implements , une classe peut implémenter une interface. |
Plusieurs interfaces peuvent être implémentées par une classe. | Une interface ne peut jamais implémenter une autre interface. | La classe implémentant une interface doit implémenter toutes les méthodes de l’interface. |
Hériter d’une classe en utilisant le mot-clé extends
en Java
Dans le code ci-dessous, nous avons un Parent
, qui est la classe de base, et Child
comme la sous-classe. La classe Child
étend la classe Parent
, ce qui signifie que la classe Child
a désormais accès aux champs et méthodes définis à l’intérieur de la classe Parent
.
Dans notre classe Test
, nous créons un objet de la classe sous-classe child
et appelons la méthode displayNumber()
dessus. La méthode displayString()
, qui est définie à l’intérieur de la classe parent, peut être exécutée en l’appelant sur le même objet child
. Par conséquent, il remplit l’objectif de réutilisation du code.
public class Test {
public static void main(String args[]) {
Child child = new Child();
System.out.println("Calling Child class method : " + child.displayNumber());
System.out.println("Calling Parent class method from child : " + child.displayString());
}
}
class Parent {
String str = "Hello there!";
public String displayString() {
return str;
}
}
class Child extends Parent {
int number = 25;
public int displayNumber() {
return number;
}
}
Production:
Calling Child class method : 25
Calling Parent class method from child : Hello there!
Hériter d’une interface à l’aide du mot-clé implements
en Java
Nous avons deux interfaces, Cat
et Dog
, dans le code ci-dessous, chacune contenant une méthode abstraite à l’intérieur. Une classe Animals
implémente les deux interfaces, elle doit donc implémenter la méthode définie dans les interfaces.
Par conséquent, la classe Animals
a implémenté les deux interfaces et défini leurs comportements, ce qui est tout l’objectif de l’interface en Java.
interface Cat {
public void meow();
}
interface Dog {
public void bark();
}
class Animals implements Dog, Cat {
@Override
public void meow() {
System.out.println("Cat meows");
}
@Override
public void bark() {
System.out.println("Dog barks");
}
}
public class Test1 {
public static void main(String args[]) {
Animals animals = new Animals();
animals.bark();
animals.meow();
}
}
Production
Dog barks Cat meows
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn