Generics

Interfacce custom e generics

Nell’articolo precedente abbiamo introdotto i generics.  In questo nuovo articolo introduciamo le interfacce generiche.

Nulla di particolarmente complesso, è sufficiente definire nel modo tradizionale l’interfaccia, indicando però un parametro generico:

Allo stesso modo è possibile indicare il valore di ritorno che dovrà essere sovrascritto:

Ovviamente, come per l’utilizzo di interfacce “tipizzate”, è possibile sfruttare l’ereditarietà:

Implementare un’interfaccia generica

Le classi che implementano un’interfaccia generica devono sottostare alle specifiche definite all’interno dell’interfaccia stessa.

Ovviamente dovranno essere implementati TUTTI i metodi specificati all’interno delle interfacce.

Passare un’interfaccia generica come parametro

Un’interfaccia generica è a tutti gli effetti un’interfaccia: possiamo quindi utilizzarla come parametro di un metodo. Supponiamo, ad esempio, di aver definito un’interfaccia che rappresenta una forma geometrica:

Allo stesso modo definiamo un’interfaccia per un oggetto di tipo “Round” :

A questo punto procediamo con l’implementazione della classe Circle (che implementa l’oggetto IRound:

A questo punto, da un’ ipotetica di una classe è possibile utilizzare un’interfaccia come parametro di un metodo, nel seguente modo:

Restituire un’interfaccia generica come parametro

E’ possibile restituire un’interfaccia generica da un metodo nel seguente modo:

Ovviamente il tipo ritornato deve soddisfare tutte le regole definite all’interno dell’interfaccia.

 

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.