Sobes.tech
Junior

O que é uma interface em C#?

sobes.tech IA

Resposta da IA

A interface em C# é um contrato que define um conjunto de membros (métodos, propriedades, eventos, indexadores), mas não contém sua implementação. Classes e estruturas podem implementar uma ou várias interfaces, comprometendo-se a fornecer a implementação de todos os membros da interface.

Características principais:

  • Permite alcançar polimorfismo.
  • Define comportamento, não estado.
  • Pode conter apenas declarações de membros sem modificadores de acesso (implicitamente public).
  • Não pode ser criada diretamente (instanciada).
  • Suporta herança múltipla (uma classe pode implementar várias interfaces).
  • Interfaces padrão foram introduzidas com .NET Core 3.0+, permitindo fornecer implementações de membros.

Exemplo:

// Definição da interface
public interface ICustomer
{
    string GetFullName(); // Declaração de método
    int CustomerId { get; } // Declaração de propriedade
}

// Classe que implementa a interface
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})";
    }
}