Junior
¿Qué es una interfaz en C#?
sobes.tech AI
Respuesta de la IA
La interfaz en C# es un contrato que define un conjunto de miembros (métodos, propiedades, eventos, indexadores), pero no contiene su implementación. Las clases y estructuras pueden implementar una o varias interfaces, comprometiéndose a proporcionar la implementación de todos los miembros de la interfaz.
Características clave:
- Permite lograr polimorfismo.
- Define comportamiento, no estado.
- Solo puede contener declaraciones de miembros sin modificadores de acceso (implícitamente
public). - No puede ser creada directamente (instanciada).
- Soporta herencia múltiple (una clase puede implementar varias interfaces).
- Se introdujeron interfaces por defecto con .NET Core 3.0+, que permiten proporcionar implementaciones de miembros.
Ejemplo:
// Definición de la interfaz
public interface ICustomer
{
string GetFullName(); // Declaración de método
int CustomerId { get; } // Declaración de propiedad
}
// Clase que implementa la interfaz
public class CompanyCustomer : ICustomer
{
public int CustomerId { get; set; }
public string CompanyName { get; set; }
public string ContactPerson { get; set; }
public string GetFullName()
{
return $"{CompanyName} ({ContactPerson})";
}
}