Eu entendi que a interface resolve um problema de herança múltipla quando duas classes pai possuem um mesmo método:
public class Casa
{
public void AbrirPorta();
}
public class Carro
{
public void AbrirPorta();
}
public class Exemplo : Carro, Casa
{
public void AbrirPorta()
{
}
}
Mas e quando duas interfaces possuem um mesmo método? Não acaba gerando o mesmo problema de "não saber de onde vem o método"??
public interface IPorta {
void abrir();
}
public interface IJanela {
void abrir();
}
public class Casa : IPorta, IJanela {
public void abrir(){
// abrir porta ou abrir janela???
}
}