Différence Implémente et étend
Implémentations et extensions
Implémentations et extensions sont deux mots clés trouvés dans le langage de programmation Java qui permettent de transférer des fonctionnalités ajoutées à 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 objets comme 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 Implémente et étend les mots-clés définis dans Java.
Etend
Le mot-clé Extensions 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 autorisant l'extension des propriétés et le comportement d'une classe existante par une classe nouvellement définie. Lorsqu'une nouvelle sous-classe (ou classe dérivée) étend une super classe (ou une classe parent), cette sous-classe héritera de tous les attributs et méthodes de la super classe. La sous-classe peut éventuellement remplacer le comportement (fournir une fonctionnalité nouvelle ou étendue aux méthodes) héritée de la classe parente. Une sous-classe ne peut pas étendre plusieurs super classes en Java. Par conséquent, vous ne pouvez pas utiliser extends pour l'héritage multiple. Pour avoir plusieurs héritages, vous devez utiliser les interfaces comme expliqué ci-dessous.
Implémente
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 qui est utilisé pour spécifier un contrat qui doit être implémenté par les classes, qui implémentent cette interface. Habituellement, une interface ne contiendra que des signatures de méthode et des déclarations 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 comme une 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 soit nul, soit contenir un objet d'une classe qui implémente cette interface particulière. En utilisant le 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.
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é par une classe pour implémenter 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 parente.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 d'Implements (interfaces) est considérée comme plus favorable que l'utilisation d'Extends (héritage), pour plusieurs raisons comme une plus grande flexibilité et la possibilité de minimiser le couplage. Par conséquent, dans la pratique, la programmation vers une interface est préférable à l'extension à partir des classes de base.