Recommandé, 2024

Choix De L'Éditeur

Différence entre étend et implémente les mots-clés en Java

Les mots-clés extend et les implémentations sont utilisés pour hériter des fonctionnalités d'un bloc parent existant dans le bloc enfant nouvellement créé. À l'aide du mot-clé extend, une classe nouvellement créée (sous-classe) peut hériter des fonctionnalités d'une classe existante (superclasse). En utilisant le mot-clé implements, une classe nouvellement créée peut implémenter toutes les méthodes d'une interface. La principale différence entre les mots clés expand et implements est qu'une classe étend une autre classe pour hériter de tous ses membres, tandis qu'une classe implémente une interface pour hériter de toutes ses méthodes et les implémenter en fonction de ses besoins. Il existe d'autres différences entre les mots clés étendus et les outils décrits dans le tableau de comparaison ci-dessous.

Tableaux de comparaison

Base de comparaisonÉtendMet en oeuvre
De baseLe mot-clé extend permet de créer une sous-classe à l'aide des fonctionnalités d'une super classe.Le mot-clé implements est utilisé pour l'implémentation d'une interface
Les méthodesLe mot-clé extend ne peut pas écraser toutes les méthodes d'une super classe.Le mot-clé implémente doit implémenter toutes les méthodes d'une interface implémentée.
ClasseUne classe ne peut étendre qu'une seule super classe.Une classe peut implémenter plusieurs interafaces.
InterfaceUne interface peut s'étendre sur plusieurs interfaces.Une interface ne peut pas implémenter une autre interface.

Définition du mot-clé extend

L'héritage étant un concept important dans la programmation orientée objet, il est atteint lorsqu'une sous-classe étend une autre super-classe. Une sous-classe est autorisée à étendre une seule super-classe. Une classe ne peut jamais étendre plus d'une super classe en Java. Lorsqu'une classe étend une autre classe, elle peut écraser les méthodes définies dans une superclasse. Laissez-nous comprendre le mot-clé s'étend à l'aide d'un exemple.

 classe A {String s; A (String s1) {s = s1; } // chaîne d'affichage void display () {System.out.println (+ s); }} la classe B étend A {String i; B (chaîne s1, chaîne i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * display () de classe A invoqué. * / System.out.println (+ i); }} class Override {public static void main (String args []) {B ob = new B (Tech, Différences); ob.display (); / * affichage de la classe B invoqué * /}} / * out put * / Tech Differences 

Dans le code ci-dessus, vous pouvez constater que la classe B a étendu la classe A et a remplacé la méthode display () définie dans la classe A. De la même manière, une interface peut étendre plusieurs interfaces à la fois. Comme l'interface ne doit implémenter aucune méthode de l'interface étendue, il est autorisé à hériter de plusieurs interfaces à la fois.

Définition du mot clé implements

En utilisant le mot-clé implements, une classe hérite de toutes les méthodes d'une interface. Lorsqu'une classe implémente une interface, cette classe doit implémenter toutes les méthodes d'interface implémentée. Une interface ne peut jamais implémenter une autre interface, car le mot-clé implémenté promet l'implémentation des méthodes, mais une interface n'y implémente jamais. Il est donc impossible pour une interface d'implémenter une autre interface. Laissez-nous comprendre implements mot-clé à l'aide d'un exemple.

 chaînes d'interface {void display (String s); } interface entier {void show (int i); } La classe Demo implémente des chaînes, un entier {void show (int i) {System.Out.Println ("integer value:" + i); } void display (String s) {System.Out.Println ("valeur de chaîne:" + s); }} class Demo_main {public static void main (string args []) {Demo d = new Demo (); d.display ("TechDifferences"); d.show (2); }} / * output * / TechDifferences 2 

Comme dans le code ci-dessus, vous pouvez voir que la classe demo implémente deux chaînes d'interface et un entier et a implémenté les méthodes déclarées dans les deux interfaces display () et show ().

Principales différences entre les extensions et les implémentations

  1. Une classe peut hériter d'une autre classe ou une interface hériter d'autres interfaces à l'aide d'un mot clé expand alors qu'une classe peut implémenter une interface à l'aide d'un mot clé implémenté.
  2. Une sous-classe qui étend une superclasse peut ou non remplacer toutes les méthodes d'une superclasse. D'autre part, une classe implémentant une interface doit définir / implémenter toutes les méthodes de cette interface.
  3. Une classe peut implémenter n'importe quel numéro d'une interface en même temps. D'autre part, une classe ne peut étendre qu'une seule super classe.
  4. Une interface peut étendre un nombre illimité d'interfaces, mais une interface ne peut jamais implémenter une autre interface car les moyens d'implémentation définissant les méthodes, et l'interface a toujours des méthodes abstraites, de sorte qu'une interface ne peut jamais implémenter une autre interface.

Conclusion:

Je conclus la discussion en disant que l'implémentation d'une interface rend le code plus flexible que l'extension d'une classe. Comme cela évite la restriction d'hériter d'une seule super classe en Java. En utilisant le mot-clé implements, une classe peut hériter des fonctionnalités de plusieurs interfaces.

Top