Junior
Cos'è un'interfaccia in C#?
sobes.tech AI
Risposta dell'AI
L'interfaccia in C# è un contratto che definisce un insieme di membri (metodi, proprietà, eventi, indicizzatori), ma non contiene la loro implementazione. Le classi e le strutture possono implementare una o più interfacce, impegnandosi a fornire l'implementazione di tutti i membri dell'interfaccia.
Caratteristiche principali:
- Permette di raggiungere il polimorfismo.
- Definisce comportamento, non stato.
- Può contenere solo dichiarazioni di membri senza modificatori di accesso (implicitamente
public). - Non può essere creata direttamente (istanziata).
- Supporta l'ereditarietà multipla (una classe può implementare più interfacce).
- Sono state introdotte interfacce di default con .NET Core 3.0+, che consentono di fornire implementazioni di membri.
Esempio:
// Definizione dell'interfaccia
public interface ICustomer
{
string GetFullName(); // Dichiarazione di metodo
int CustomerId { get; } // Dichiarazione di proprietà
}
// Classe che implementa l'interfaccia
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})";
}
}