Après l’article de Java Autoboxing et Unboxing en Java, nous allons apprendre la différence entre extends et implements en java. Les deux sont les mots-clés réservés en Java que nous utilisons pour hériter des caractéristiques d’un bloc parent déjà existant dans le bloc enfant nouvellement créé. Ils sont utilisés pour mettre en œuvre différents concepts en Java. Nous allons apprendre ce qu’est le mot-clé Java extends et ce qu’est le mot-clé Java implements avec des exemples.
D’abord, révisons le concept de Java Autoboxing et Unboxing en détail avec Techvidvan.
En vous tenant au courant des dernières tendances technologiques, rejoignez TechVidvan sur Telegram
Qu’est-ce que extends en Java ?
- Le mot-clé extends en Java est utile lorsque nous voulons hériter des propriétés et des méthodes d’une classe parent dans notre classe enfant.
- Ce mot-clé extends établit la relation d’héritage entre deux classes.
- Nous l’utilisons lors de la création d’une classe dérivée de la classe parent ou lors de la création d’une sous-classe de la super-classe.
- La règle est qu’une classe ne peut étendre qu’une seule classe au maximum.
- Lorsqu’une classe étend une autre classe, elle peut surcharger les méthodes définies dans une super-classe.
- Nous utilisons également le mot-clé extends lorsque nous voulons qu’une interface étende ou hérite d’une autre interface.
Faites connaissance avec le concept d’héritage de Java en détail avec Techvidvan.
Code pour comprendre le mot-clé extends en Java:
package com.techvidvan.extendsvsimplements;//Parent classclass Country{ String name = "India"; public void display() { System.out.println("This is my country India"); }}//child class extends the parent classclass City extends Country{ // defining additional properties to the derived class String state = "Rajasthan"; String city = "Jaipur";}public class ExtendsDemo{ public static void main(String args) { City obj=new City(); obj.display(); System.out.println("Name of the city is: " + obj.name); System.out.println("City is present in " + obj.state + "state"); }}
Sortie:
Nom de la ville est : Jaipur
La ville est présente dans l’état du Rajasthan
Qu’est-ce que Implements en Java ?
- Nous utilisons le mot clé implements lors de la mise en œuvre d’une interface.
- Une classe peut mettre en œuvre une interface en utilisant le mot clé implements.
- Une interface est un type abstrait en Java qui contient une collection de méthodes abstraites. Nous ne pouvons pas instancier une interface c’est-à-dire, nous ne pouvons pas créer des objets à partir d’une interface.
- Lorsqu’une classe implémente une interface, elle doit définir toutes les méthodes qui sont présentes à l’intérieur de l’interface en fournissant l’implémentation de chacune des méthodes.
- Si la classe qui implémente une interface, ne définit pas ou ne contient pas l’implémentation de toutes les méthodes de l’interface, alors nous devons la déclarer comme abstraite. Sinon, le compilateur donnera une erreur.
- Java ne supporte pas les héritages multiples, mais nous pouvons mettre en œuvre l’héritage multiple dans notre code en utilisant plusieurs interfaces en Java.
- Une interface ne peut jamais mettre en œuvre une autre interface. La raison est que si l’interface va mettre en œuvre une autre interface, alors elle doit définir toutes les méthodes de l’interface qu’elle met en œuvre, mais l’interface ne peut pas avoir de méthodes concrètes, donc, une interface ne peut pas mettre en œuvre une autre interface en Java.
Améliorez vos connaissances sur l’interface Java en détail avec Techvidvan.
Code pour comprendre la mise en œuvre du mot-clé java implements:
package com.techvidvan.extendsvsimplements;//Creating an interfaceinterface MyInterface{ //Declaring abstract methods inside it void displayString(String s); void showNumber(int i);}//Implementing the interface using the implements keywordpublic class MyClass implements MyInterface{ //Implementing all the methods declared in the interface public void displayString(String s) { System.out.println("The string value is: " +s); } public void showNumber(int i) { System.out.println("The integer value is: " +i); } public static void main(String args) { MyClass obj = new MyClass(); obj.displayString("TechVidvan"); obj.showNumber(20); }}
Sortie:
La valeur entière est : 20
Exemple d’interfaces multiples
Nous allons maintenant voir un exemple dans lequel une classe implémente plus d’une interface en même temps et établit donc des héritages multiples en Java. Nous allons créer 3 interfaces : Walkable, Swimmable, et Talkable et une classe HumanBeing qui implémente les 3 interfaces.
1. interface : Walkable.java
package com.techvidvan.extendsvsimplements;public interface Walkable { public void walk();}
2. interface : Swimmable.java
package com.techvidvan.extendsvsimplements;public interface Swimmable{ public void swim();}
3. interface : Talkable.java
package com.techvidvan.extendsvsimplements;public interface Talkable { public void talk();}
4. classe : HumanBeing.java
package com.techvidvan.extendsvsimplements;\To implement multiple interfaces we must use commas to separate thempublic class HumanBeing implements Walkable, Swimmable, Talkable{ @Override public void walk() { System.out.println("I can walk"); } @Override public void swim() { System.out.println("I can swim"); } @Override public void talk() { System.out.println("I can talk"); } public static void main(String args) { HumanBeing human= new HumanBeing(); human.walk(); human.swim(); human.talk(); }}
Sortie:
Je peux nager
Je peux parler
Différence entre Extensions et Impléments en Java
Nous avons vu les exemples des deux mots-clés, voyons maintenant java extends vs implémentations en détail :
Comparaison des caractéristiques | Extensions | Impléments |
Implémentation | Le mot clé extends est utilisé lorsqu’une classe veut hériter de toutes les propriétés d’une autre classe ou d’une interface qui veut hériter d’une interface. | On utilise le mot-clé implements quand on veut qu’une classe implémente une interface. |
Associé à | Il est associé à Inheritance | Il est associé à Abstraction |
Méthode | La classe enfant qui étend une classe parent peut ou non surcharger toutes les méthodes présentes dans la classe parent. | La classe qui implémente une interface doit définir ou fournir l’implémentation de toutes les méthodes déclarées dans l’interface, sinon la classe doit être déclarée comme abstraite. |
Class | Une sous-classe ou plus d’une sous-classe ne peut étendre qu’une seule classe parent en même temps. | Une classe peut implémenter une ou plusieurs interfaces en même temps. |
Interface | Une interface peut étendre un nombre quelconque d’interfaces. | Une interface ne peut jamais implémenter une autre interface. |
Sommaire
Donc en conclusion, nous arrivons à la fin de l’article de différence entre extends et implements en java. Nous avons passé en revue les principales différences entre ces mots-clés. Les deux utilisent directement ou indirectement le concept d’héritage en Java. Mais nous pouvons conclure que l’implémentation d’une interface offre plus de flexibilité que l’extension d’une classe car nous ne pouvons étendre qu’une seule classe mais nous pouvons implémenter plusieurs héritages en Java. J’espère qu’après avoir lu cet article, vous avez finalement compris le mot clé extends vs implements en Java.