In parole povere, un'interfaccia dice quello che devi fare, ma non come
codice:
interface Chiudibile
{
void close();
}
interface Apribile
{
void open();
}
Una classe che implementa un'interfaccia deve fare quello che dice l'interfaccia e deve definire un modo per farlo
codice:
class File implements Chiudibile, Apribile
{
void close()
{
// chiudi il file
}
void open()
{
//apri il file
}
}
class Porta implements Chiudibile, Apribile
{
void close()
{
// chiudi la porta
}
void open()
{
//apri la porta
}
}