OOP - Interfaces

Um poderoso companheiro da Herança (saiba mais...é o uso de Interfaces. A interface é uma espécie de superclasse 100% abstract que define os métodos que uma subclasse deve suportar, mas não como esse suporte deve ser implementado. Em outras palavras, uma interface é um tipo de contrato que diz o que deve ser implementado e codificado, como essa implementação será feita fica a cargo da subclasse.


Exemplo
Uma superclasse (interface) Carro declara que todas as subclasses devam implementar o método acelerar(), porem não diz como. A implementação de como funcionaria a lógica do método acelerar() fica a cargo das subclasses. No caso uma classe denominada Ferrari que é um tipo de Carro implementaria o método acelerar() diferente de outra classe denominada Corcel que também é um tipo de Carro. Ambas as classes derivam de Carro, logo devem implementar o método acelerar().


Sempre que implementar uma interface é obrigatório definir ou codificar os métodos herdados, caso contrário devemos mante-lo abstract.

A diferença entre classes abstratas e interfaces em Java é que uma subclasse pode herdar de uma única classe (abstrata ou não). Enquanto qualquer classe pode implementar várias interfaces simultaneamente. Sendo um mecanismo simplificado de "herança múltipla" em Java.

Postagens mais visitadas deste blog

Python - Fatorial