Sobes.tech
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})";
    }
}