DEFAULT INTERFACE
L’implementazione dell’interfaccia predefinita (default interface implementation) in C# è una funzionalità introdotta a partire da C# 8.0. Questa funzionalità consente di fornire implementazioni predefinite per i metodi all’interno delle interfacce, riducendo così la necessità di modificare tutte le classi che implementano un’interfaccia quando viene aggiunto un nuovo metodo. Di seguito è riportata una descrizione dettagliata di come utilizzare questa funzionalità.
1. Definizione di un’interfaccia con implementazione predefinita
In C#, un’interfaccia può ora contenere metodi con corpi di metodo, fornendo un’implementazione predefinita che può essere utilizzata dalle classi che implementano l’interfaccia. Ecco un esempio di un’interfaccia con un metodo con implementazione predefinita:
public interface IExample
{
// Metodo con implementazione predefinita
void DefaultMethod()
{
Console.WriteLine(“This is a default implementation.“);
}
// Metodo senza implementazione predefinita
void AbstractMethod();
}
2. Implementazione di un’interfaccia in una classe
Quando una classe implementa un’interfaccia con metodi predefiniti, non è necessario fornire un’implementazione per quei metodi, a meno che non si desideri sovrascriverli. Ecco un esempio:
public class ExampleClass : IExample
{
// Implementazione obbligatoria del metodo astratto
public void AbstractMethod()
{
Console.WriteLine(“Implementation of abstract method.“);
}
// Metodo DefaultMethod può essere sovrascritto, ma non è obbligatorio
// Se non viene sovrascritto, verrà utilizzata l’implementazione predefinita dell’interfaccia
}
3. Utilizzo dei metodi dell’interfaccia
Quando si utilizza una classe che implementa l’interfaccia, i metodi con implementazioni predefinite possono essere chiamati come qualsiasi altro metodo:
class Program
{
static void Main(string[] args)
{
IExample example = new ExampleClass();
// Chiamata al metodo astratto implementato nella classe
example.AbstractMethod();
// Chiamata al metodo con implementazione predefinita
example.DefaultMethod();
}
}
4. Sovrascrivere un metodo predefinito
Se si desidera fornire una propria implementazione di un metodo predefinito, è possibile farlo nella classe:
public class CustomExampleClass : IExample
{
public void AbstractMethod()
{
Console.WriteLine(“Implementation of abstract method.“);
}
// Sovrascrittura del metodo con implementazione predefinita
public void DefaultMethod()
{
Console.WriteLine(“This is a custom implementation.“);
}
}
Lascia un commento