13.12. Herança e Polimorfismo em Java: Interfaces
Página 96 | Ouça em áudio
No mundo da programação orientada a objetos (POO), a herança e o polimorfismo são dois conceitos fundamentais que permitem a criação de códigos mais organizados, reutilizáveis e fáceis de manter. Em Java, esses conceitos são implementados através de classes e interfaces, que juntas fornecem uma estrutura poderosa para o desenvolvimento de software. Neste capítulo, vamos explorar como as interfaces em Java permitem a implementação de herança e polimorfismo, e como você pode usá-las para criar programas mais flexíveis e extensíveis.
Uma interface em Java é um tipo de referência semelhante a uma classe, que pode conter constantes e métodos abstratos. Ao contrário das classes, as interfaces não podem conter implementações de métodos (exceto métodos padrão e estáticos a partir do Java 8) e não podem ser instanciadas. Elas são usadas para definir um contrato que as classes devem seguir, ou seja, um conjunto de métodos que as classes devem implementar.
As interfaces são particularmente úteis quando você quer garantir que diferentes classes implementem a mesma funcionalidade, mas de maneiras potencialmente diferentes. Isso é parte do que chamamos de polimorfismo, onde um único tipo de interface pode se referir a várias formas de implementações.
Em Java, uma classe pode herdar de apenas uma classe pai (superclasse), mas pode implementar várias interfaces. Essa é uma forma de herança múltipla de tipo, que permite que uma classe seja vista como vários tipos diferentes e, portanto, possa ser usada de maneiras diferentes. A herança de interfaces é feita através da palavra-chave
No exemplo acima, a interface
A classe
O polimorfismo é a capacidade de um objeto ser referenciado de várias formas. Em Java, isso é frequentemente realizado através de interfaces. Por exemplo, se tivermos outra classe, como
No exemplo acima, a variável
As interfaces trazem diversos benefícios para o desenvolvimento de software em Java:
Herança e polimorfismo são conceitos chave na POO e, em Java, as interfaces desempenham um papel crucial na implementação desses conceitos. Elas permitem a criação de código flexível e reutilizável, facilitam a manutenção e a extensão de sistemas e promovem boas práticas de design de software. Ao dominar o uso de interfaces, você estará equipado para criar programas robustos e adaptáveis que podem crescer e evoluir com facilidade.
13.12 Herança e Polimorfismo em Java: Interfaces
O que são Interfaces?
Herança através de Interfaces
implements
, e uma classe que implementa uma interface deve fornecer implementações concretas para todos os seus métodos abstratos.
Exemplo de Interface
public interface Veiculo {
void acelerar(int incremento);
void frear(int decremento);
}
Veiculo
define dois métodos abstratos: acelerar
e frear
. Qualquer classe que implementa Veiculo
deve fornecer implementações para esses métodos.
Implementando Interfaces
public class Carro implements Veiculo {
private int velocidade;
@Override
public void acelerar(int incremento) {
velocidade += incremento;
}
@Override
public void frear(int decremento) {
velocidade -= decremento;
}
}
Carro
implementa a interface Veiculo
e fornece implementações concretas dos métodos acelerar
e frear
. Note que usamos a anotação @Override
para indicar que estamos sobrescrevendo métodos da interface.
Polimorfismo com Interfaces
Bicicleta
, que também implementa a interface Veiculo
, podemos referenciar tanto objetos do tipo Carro
quanto Bicicleta
através de uma referência de tipo Veiculo
.
Veiculo meuVeiculo;
meuVeiculo = new Carro();
meuVeiculo.acelerar(10);
meuVeiculo = new Bicicleta();
meuVeiculo.acelerar(3);
meuVeiculo
é do tipo interface Veiculo
. Inicialmente, ela referencia um objeto do tipo Carro
e depois um objeto do tipo Bicicleta
. Em ambos os casos, podemos chamar o método acelerar
sem nos preocuparmos com o tipo específico do objeto.
Benefícios das Interfaces
Conclusão
Agora responda o exercício sobre o conteúdo:
Qual das seguintes afirmações sobre interfaces em Java é correta?
Você acertou! Parabéns, agora siga para a próxima página
Você errou! Tente novamente.
Próxima página do Ebook Gratuito: