Sobes.tech
Junior

Wat is een interface in C#?

sobes.tech AI

Antwoord van AI

In C# is een interface een contract dat een set leden (methoden, eigenschappen, evenementen, indexers) definieert, maar geen implementatie bevat. Klassen en structuren kunnen één of meerdere interfaces implementeren, waarbij ze zich verbinden om de implementatie van alle leden van de interface te leveren.

Belangrijkste kenmerken:

  • Maakt polymorfisme mogelijk.
  • Bepaalt gedrag, niet toestand.
  • Kan alleen ledenaankondigingen bevatten zonder toegangsmodifiers (impliciet public).
  • Kan niet direct worden gemaakt (geïnstantieerd).
  • Ondersteunt meervoudige overerving (een klasse kan meerdere interfaces implementeren).
  • Standaardinterfaces zijn geïntroduceerd met .NET Core 3.0+, waarmee het mogelijk is om implementaties van leden te bieden.

Voorbeeld:

// Interface-definitie
public interface ICustomer
{
    string GetFullName(); // Methodedeclaratie
    int CustomerId { get; } // Eigenschapdeclaratie
}

// Klasse die de interface implementeert
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})";
    }
}