Implémente vs étend
Implements et Extends sont deux mots-clés trouvés dans le langage de programmation Java qui fournissent un moyen de transférer des fonctionnalités supplémentaires vers une nouvelle classe. Le mot clé Implements est utilisé explicitement pour implémenter une interface, tandis que le mot clé Extends est utilisé pour hériter d'une (super) classe. Veuillez noter que les concepts d'héritage et d'interfaces sont présents dans la plupart des autres langages de programmation orientés objet tels que C # et VB. NET, mais ils offrent une syntaxe ou des mots-clés différents pour appliquer ces concepts. Cet article se concentre uniquement sur les mots clés Implements et Extends définis en Java.
Prolonge
Le mot-clé Extends est utilisé pour implémenter le concept d'héritage dans le langage de programmation Java. L'héritage fournit essentiellement la réutilisation du code en permettant d'étendre les propriétés et le comportement d'une classe existante par une classe nouvellement définie. Lorsqu'une nouvelle sous-classe (ou une classe dérivée) étend une super classe (ou une classe parente), cette sous-classe hérite de tous les attributs et méthodes de la super classe. La sous-classe peut éventuellement remplacer le comportement (fournir des fonctionnalités nouvelles ou étendues aux méthodes) hérité de la classe parent. Une sous-classe ne peut pas étendre plusieurs super classes en Java. Par conséquent, vous ne pouvez pas utiliser les extensions pour l'héritage multiple. Pour avoir plusieurs héritages, vous devez utiliser des interfaces comme expliqué ci-dessous.
Met en oeuvre
Le mot clé Implements dans le langage de programmation Java est utilisé pour implémenter une interface par une classe. Une interface en Java est un type abstrait utilisé pour spécifier un contrat qui doit être implémenté par des classes, qui implémentent cette interface. En général, une interface ne contiendra que des signatures de méthode et des déclarations de constantes. Toute interface qui implémente une interface particulière doit implémenter toutes les méthodes définies dans l'interface, ou doit être déclarée en tant que classe abstraite. En Java, le type d'une référence d'objet peut être défini comme un type d'interface. Mais cet objet doit être nul ou doit contenir un objet d'une classe, qui implémente cette interface particulière. À l'aide du mot-clé Implements en Java, vous pouvez implémenter plusieurs interfaces dans une seule classe. Une interface ne peut pas implémenter une autre interface. Cependant, une interface peut étendre une classe.
Différence entre les outils et les extensions
Bien que Implements et Extends soient deux mots-clés qui fournissent un mécanisme pour hériter des attributs et du comportement d'une classe dans le langage de programmation Java, ils sont utilisés à deux fins différentes. Le mot clé Implements est utilisé pour qu'une classe implémente une certaine interface, tandis que le mot clé Extends est utilisé pour qu'une sous-classe s'étende à partir d'une super classe. Lorsqu'une classe implémente une interface, cette classe doit implémenter toutes les méthodes définies dans l'interface, mais lorsqu'une sous-classe étend une super-classe, elle peut ou non remplacer les méthodes incluses dans la classe parent. Enfin, une autre différence clé entre Implements et Extends est qu'une classe peut implémenter plusieurs interfaces, mais elle ne peut s'étendre qu'à partir d'une super classe en Java. En général, l'utilisation des outils (interfaces) est considérée comme plus favorable par rapport à l'utilisation des extensions (héritage),pour plusieurs raisons comme une plus grande flexibilité et la capacité à minimiser le couplage. Par conséquent, dans la pratique, la programmation sur une interface est préférable à l'extension des classes de base.