Sobes.tech
Junior

Mi az a felület a C#-ban?

sobes.tech MI

Válasz az MI-től

A C#-ban az interfész egy szerződés, amely meghatározza a tagok (metódusok, tulajdonságok, események, indexelők) halmazát, de nem tartalmazza azok megvalósítását. Osztályok és struktúrák egy vagy több interfészt valósíthatnak meg, vállalva, hogy biztosítják az összes interfész tag megvalósítását.

Fő jellemzők:

  • Lehetővé teszi a polimorfizmus elérését.
  • Viselkedést határoz meg, nem állapotot.
  • Csak tagbejelentéseket tartalmazhat, hozzáférési módosítók nélkül (rejtett public).
  • Nem hozható létre közvetlenül (példányosítás nem lehetséges).
  • Támogatja a több öröklődést (egy osztály több interfészt is megvalósíthat).
  • Alapértelmezett interfészeket a .NET Core 3.0+ vezette be, amelyek lehetővé teszik a tagok megvalósításának nyújtását.

Példa:

// Interfész meghatározása
public interface ICustomer
{
    string GetFullName(); // Metódus deklaráció
    int CustomerId { get; } // Tulajdonság deklaráció
}

// Osztály, amely megvalósítja az interfészt
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})";
    }
}