View Full Version : [Java] Interfaccia
Ho trovato questo esempio in java:
public interface IntA
{
public static interface IntB
{
public long get();
}
public abstract String metC();
}
1- Perché il metodo metC viene dichiarato abstract? All'interno di una interfaccia non sono tutti abstract i metodi?
2- Quale è l'utilità e qual è il vantaggio di avere una interfaccia dentro ad un'altra?
3- In C#, siccome non si può avere una interfaccia dentro l'altra, come diventerebbe?
morskott
04-05-2009, 13:50
Ho trovato questo esempio in java:
public interface IntA
{
public static interface IntB
{
public long get();
}
public abstract String metC();
}
1- Perché il metodo metC viene dichiarato abstract? All'interno di una interfaccia non sono tutti abstract i metodi?
2- Quale è l'utilità e qual è il vantaggio di avere una interfaccia dentro ad un'altra?
3- In C#, siccome non si può avere una interfaccia dentro l'altra, come diventerebbe?
1) Non ci sono metodi abstract in un'interfaccia, da errore di compilazione
2&3) Bho
banryu79
04-05-2009, 13:58
Ho trovato questo esempio in java:
...
Per curiosità, dove l'hai trovato quell'esempio?
1) Non ci sono metodi abstract in un'interfaccia, da errore di compilazione
un interfaccia puo avere solo metodi abstract ...
banryu79
04-05-2009, 14:11
un interfaccia puo avere solo metodi abstract ...
Esatto, in un'interfaccia i metodi sono astratti per definizione, e non è necessario usare il modificatore abstract.
Allora abstract si può mettere o non mettere che è la stessa cosa.
Non da errori di compilazione, ma appunto non è necessario.
Pensavo fosse una tecnica strana per ottenere qualcosa :fagiano:
Mentre per l'utilità di avere una interfaccia dentro ad un'altra sapete dirmi qualcosa? :)
Per curiosità, dove l'hai trovato quell'esempio?
E' su degli appunti che ci diede il prof alle superiori qualche anno fa.
banryu79
04-05-2009, 17:18
E' su degli appunti che ci diede il prof alle superiori qualche anno fa.
Ah, ecco :)
2- Quale è l'utilità e qual è il vantaggio di avere una interfaccia dentro ad un'altra?
Francamente non mi ero mai posto il problema; è certamente legale dichiarare una "nested interface" dentro una "top level interface", ma non saprei proprio a cosa potrebbe servire.
L'unica cosa che mi viene in mente è che il motivo potrebbe avere a che fare con le regole di visibilità a cui è soggetto ogni inner member dentro a una classe/interfaccia .
Qui (http://java.sun.com/docs/books/jls/third_edition/html/interfaces.html#252566)trovi dettagli in merito.
3- In C#, siccome non si può avere una interfaccia dentro l'altra, come diventerebbe?
Questo proprio non lo so dato che non conosco C#.
vBulletin® v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.