Implements vs Extends
Implements et Extends sont deux mots-clés trouvés dans le langage de programmation Java qui permettent de transférer des fonctionnalités ajoutées vers une nouvelle classe. Le mot-clé Implements est utilisé explicitement pour l'implémentation d'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 qu'ils offrent une syntaxe ou des mots-clés différents pour appliquer ces concepts. Cet article traite uniquement des mots-clés Implements et Extensions définis en Java..
Étend
Le mot-clé Extends est utilisé pour implémenter le concept d'héritage dans le langage de programmation Java. L'héritage permet essentiellement de réutiliser le code en permettant l'extension des propriétés et du 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 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 des méthodes 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 plusieurs héritages. Pour avoir plusieurs héritages, vous devez utiliser des interfaces comme expliqué ci-dessous..
Met en oeuvre
Le mot-clé Implements du 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 devant être implémenté par des classes implémentant cette interface. Généralement, une interface ne contiendra que des signatures de méthodes et des déclarations de constante. 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 en tant que 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 même classe. Une interface ne peut pas implémenter une autre interface. Cependant une interface peut étendre une classe.
Différence entre Implements et Extends
Bien que Implements et Extends soient deux mots clés fournissant un mécanisme pour hériter des attributs et du comportement d'une classe en langage de programmation Java, ils sont utilisés à des 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 parente. Enfin, une autre différence essentielle entre Implements et Extends est qu’une classe peut implémenter plusieurs interfaces mais qu’elle ne peut s’étendre que 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'Extend (héritage), pour plusieurs raisons, notamment une flexibilité accrue et la possibilité de minimiser le couplage. Par conséquent, dans la pratique, la programmation sur une interface est préférable à l'extension à partir des classes de base..