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