Sobes.tech
Junior

Ce este o interfață în C#?

sobes.tech AI

Răspuns de la AI

Interfața în C# este un contract care definește un set de membri (metode, proprietăți, evenimente, indexatori), dar nu conține implementarea acestora. Clasele și structurile pot implementa una sau mai multe interfețe, angajându-se să furnizeze implementarea pentru toți membrii interfeței.

Caracteristici cheie:

  • Permite atingerea polimorfismului.
  • Definește comportamentul, nu starea.
  • Poate conține doar declarații de membri fără modificatori de acces (implicit public).
  • Nu poate fi creat direct (instanțiat).
  • Suportă moștenirea multiplă (o clasă poate implementa mai multe interfețe).
  • Interfețele implicite au fost introduse cu .NET Core 3.0+, permițând furnizarea de implementări ale membrilor.

Exemplu:

// Definirea interfeței
public interface ICustomer
{
    string GetFullName(); // Declarație metodă
    int CustomerId { get; } // Declarație proprietate
}

// Clasă care implementează interfața
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})";
    }
}