Implementación de la interfaz

Definición: ¿Qué significa implementación de interfaz?

La implementación de la interfaz, en C #, se refiere a la herencia de una interfaz por una estructura o clase que proporciona la funcionalidad para los miembros declarados en la interfaz. Los miembros de la interfaz implementada pueden incluir métodos, propiedades, indexadores y eventos.

En general, una interfaz representa un contrato que debe adherirse a una clase o estructura que implemente todos los miembros especificados en la interfaz. Los beneficios clave de la implementación de la interfaz incluyen flexibilidad, bajo acoplamiento, alta cohesión y comportamiento polimórfico.

En C #, la implementación de la interfaz permite que una clase herede de múltiples interfaces en lugar de múltiples clases para que más de un comportamiento se pueda heredar a través de múltiples interfaces que solo comparten firmas de métodos. La interfaz se puede implementar como propiedad para especificar si la propiedad es de lectura y escritura, solo lectura o solo escritura. Una interfaz se puede implementar explícitamente para ocultar un miembro y reemplazarlo por otro. A diferencia de Java, la implementación de interfaz explícita de C # permite múltiples interfaces con el mismo nombre de método y firmas, para tener diferentes implementaciones sin ningún conflicto de nombres y proporcionar un resultado diferente basado en la conversión actual del objeto.

Techinfo explica la implementación de la interfaz

Similar a una clase abstracta, una interfaz no proporciona una implementación predeterminada. Un miembro de una clase o estructura que implementa un miembro de una interfaz debe ser público, no estático y poseer el mismo nombre y firma que el de la interfaz.

Por ejemplo, una interfaz IAccount puede ser implementada por una clase, SavingAccount que implementa los miembros de IAccount que pueden incluir BalanceAmount, DateOfOpening, etc. como sus propiedades y métodos como PrintStatement, CalculateInterest, etc.

La implementación de la interfaz puede ser implícita cuando una clase base de una clase derivada ya implementa la interfaz. No es necesario especificar explícitamente todas las interfaces base en la lista de clases base de la clase derivada. Además, la clase derivada puede cambiar el comportamiento de la interfaz que ya se ha definido en la clase base anulando los miembros virtuales en la clase derivada.

La implementación de la interfaz es explícita cuando los miembros de dos o más interfaces que tienen el mismo nombre con la misma firma pero que realizan dos funciones diferentes son heredados por una clase o estructura que implementa cada miembro explícitamente. Dicho miembro se nombra con el nombre de la interfaz y un punto y solo se puede acceder a él a través de una instancia de la interfaz. A diferencia de los métodos implícitos, los métodos explícitos no pueden ser abstractos o virtuales.

Esta definición se escribió en el contexto de C #