Junior
Šta je interfejs u C#?
sobes.tech АИ
Одговор од АИ
Interfejs u C# je ugovor koji definiše skup članova (metoda, svojstava, događaja, indeksatora), ali ne sadrži njihovu implementaciju. Klase i strukture mogu implementirati jedan ili više interfejsa, obavezujući se da obezbede implementaciju svih članova interfejsa.
Ključne karakteristike:
- Omogućava postizanje polimorfizma.
- Definiše ponašanje, a ne stanje.
- Može sadržavati samo deklaracije članova bez modifikatora pristupa (implicitno
public). - Ne može biti direktno kreiran (instanciran).
- Podržava višestruko nasleđivanje (jedna klasa može implementirati više interfejsa).
- Uvedeni su podrazumevani interfejsi sa .NET Core 3.0+, koji omogućavaju pružanje implementacije članova.
Primer:
// Definicija interfejsa
public interface ICustomer
{
string GetFullName(); // Deklaracija metode
int CustomerId { get; } // Deklaracija svojstva
}
// Klasa koja implementira interfejs
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})";
}
}