Table des matières:
- Définition - Que signifie implémentation d'interface?
- Techopedia explique la mise en œuvre de l'interface
Définition - Que signifie 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 incluent 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 partagent uniquement les 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 différentes implémentations sans conflit de noms et de fournir des résultats différents en fonction de la distribution actuelle de l'objet.
Techopedia explique la mise en œuvre 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 ceux de l'interface.
Par exemple, une interface IAccount peut être implémentée par une classe, SavingAccount qui implémente les membres d'IAccount qui peuvent inclure BalanceAmount, DateOfOpening, etc. en tant que propriétés et méthodes comme PrintStatement, CalculateInterest, etc.
L'implémentation de l'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 d'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 ou plusieurs interfaces 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 explicitement chaque membre. 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.