Algo que muitas pessoas que iniciam na programação orientada a objeto é a famosa e não tão usada interface, mas afinal para que serve a interface ?
Vamos pensar na interface como um complemento que uma determinada classe deve conter para ela existir fazer sentido em derminado contexto.
Vamos pensar num interface chamada AeroNave.
//Exemplo em Java
public interface AeroName{
public void decolar();
public void aterrisar();
public void inicarMotor();
public void desligaMotor();
}
public void decolar();
public void aterrisar();
public void inicarMotor();
public void desligaMotor();
}
Uma interface não tem métodos prontos como pode ser visto acima, a mesma conta normalmente apenas com assinaturas de métodos, devendo este métodos serem implementados pelas classes que implementarem esta interface.
Esta interface conta com varias assinaturas de métodos que deverão ser implementados pelas classes que vierem a implementar esta interface.
A interface AeroNave e é implementada para classes Aviao, Helicoptero, AeroPlano, Foguete. Vale salientar que todas essas classes devem ter médos da interface AeroNave, cabendo a cada um implentar tais métodos. A maneira como implementa-se o método decolar na classe Aviao não é a mesma que implementamos a classe Helicoptero e nem na Foguete.
Por fim interface nada mais que uma espécie de contrato de regras (classes) que uma classes deve seguir.