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