Implémentation de l’interface

Définition - Que signifie l'implémentation d'interface?

L'implémentation d'interface, en C #, fait référence à l'héritage d'une interface par une structure ou une classe qui fournit la fonctionnalité pour les membres déclarés dans l'interface. Les membres de l'interface implémentée peuvent inclure des méthodes, des propriétés, des indexeurs et des événements.

En général, une interface représente un contrat qui doit être respecté par une classe ou une structure qui implémente tous les membres spécifiés dans l'interface. Les principaux avantages de la mise en œuvre de l'interface comprennent la flexibilité, un faible couplage, une cohésion élevée et un comportement polymorphe.

En C #, l'implémentation d'interface permet à une classe d'hériter de plusieurs interfaces au lieu de plusieurs classes afin que plusieurs comportements puissent être hérités via plusieurs interfaces qui ne partagent que des signatures de méthode. L'interface peut être implémentée en tant que propriété pour spécifier si la propriété est en lecture-écriture, en lecture seule ou en écriture seule. Une interface peut être implémentée explicitement pour masquer un membre et le remplacer par un autre. Contrairement à Java, l'implémentation d'interface explicite de C # permet à plusieurs interfaces avec le même nom de méthode et les mêmes signatures, d'avoir des implémentations différentes sans aucun conflit de nom et de fournir un résultat différent en fonction de la distribution actuelle de l'objet.

Definir Tech explique l'implémentation de l'interface

Semblable à une classe abstraite, une interface ne fournit pas d'implémentation par défaut. Un membre d'une classe ou d'une structure qui implémente un membre d'une interface doit être public, non statique et posséder le même nom et la même signature que celui de l'interface.

Par exemple, une interface IAccount peut être implémentée par une classe, SavingAccount qui implémente les membres de IAccount qui peuvent inclure BalanceAmount, DateOfOpening, etc. en tant que ses propriétés et méthodes telles que PrintStatement, CalculateInterest, etc.

L'implémentation d'interface peut être implicite lorsqu'une classe de base d'une classe dérivée implémente déjà l'interface. Toutes les interfaces de base n'ont pas besoin d'être explicitement spécifiées dans la liste des classes de base de la classe dérivée. En outre, la classe dérivée peut modifier le comportement de l'interface qui a déjà été défini dans la classe de base en remplaçant les membres virtuels de la classe dérivée.

L'implémentation d'interface est explicite lorsque les membres de deux interfaces ou plus ayant le même nom avec la même signature mais exécutant deux fonctions différentes, sont hérités par une classe ou une structure qui implémente chaque membre explicitement. Un tel membre est nommé avec le nom de l'interface et un point et n'est accessible que via une instance de l'interface. Contrairement aux méthodes implicites, les méthodes explicites ne peuvent pas être abstraites ou virtuelles.

Cette définition a été écrite dans le contexte de C #