Al momento sto leggendo / imparando le interfacce in C # e finora sono riuscito a capire come si differenzia da una classe astratta. Nel libro che sto leggendo l'autore spiega che le interfacce sono l'ultima classe astratta e che semplicemente imposta lo standard di certi metodi che avrà la classe ereditante, ma poi fornisce il seguente esempio.
static void Main(string[] args)
{
...
Circle c = new Circle("Lisa");
IPointy itPt = null;
try
{
itPt = (IPointy)c;
Console.WriteLine.(itPt.Points);
}
catch (InvalidCastException e)
{
Console.WriteLine(e.Message);
}
...
}
La linea che mi ha assolutamente buttato fuori è il IPointy itfPt=null;
ha appena dichiarato un'interfaccia? Ho pensato che le interfacce sono astratte e possono essere ereditate solo? Che tipo di stregoneria sta succedendo qui?