13. Herança e Polimorfismo em Java

Página 84

13. Herança e Polimorfismo em Java

A programação orientada a objetos (POO) é um paradigma de programação que utiliza objetos e suas interações para projetar e programar aplicações. Java é uma linguagem de programação que suporta plenamente a POO, e dois dos seus conceitos fundamentais são herança e polimorfismo. Esses conceitos permitem a criação de código mais modular, flexível e reutilizável.

Herança em Java

Herança é um mecanismo pelo qual uma nova classe, conhecida como subclasse, pode herdar campos e métodos de outra classe, chamada de superclasse. A herança permite que as subclasses tenham um ponto de partida comum, compartilhando características e comportamentos, evitando assim a duplicação de código.

class Veiculo { protected String marca; public void buzinar() { System.out.println("Beep! Beep!"); } } class Carro extends Veiculo { private int numeroDePortas; public void exibirInformacoes() { System.out.println("Marca: " + marca + ", Portas: " + numeroDePortas); } }

No exemplo acima, a classe Carro herda da classe Veiculo. Isso significa que Carro pode acessar o campo marca e o método buzinar() da classe Veiculo. A palavra-chave extends é usada para estabelecer essa relação de herança em Java.

Polimorfismo em Java

Polimorfismo é a capacidade de um objeto ser referenciado de várias formas. Mais especificamente, é a habilidade de um método ser implementado de várias formas diferentes. Em Java, o polimorfismo pode ser alcançado através do uso de métodos sobrescritos e sobrecarregados.

Um método sobrescrito é aquele que é herdado de uma superclasse e redefinido na subclasse. Isso permite que a subclasse forneça uma implementação específica para esse método. A anotação @Override é comumente usada para indicar que um método está sendo sobrescrito.

class Veiculo { public void buzinar() { System.out.println("Beep! Beep!"); } } class Carro extends Veiculo { @Override public void buzinar() { System.out.println("Honk! Honk!"); } }

No exemplo acima, a classe Carro sobrescreve o método buzinar() da classe Veiculo, fornecendo sua própria implementação.

Polimorfismo também permite que um objeto de uma subclasse seja tratado como se fosse um objeto de sua superclasse. Isso é particularmente útil quando se lida com coleções de objetos que compartilham uma classe base comum.

Veiculo meuVeiculo = new Carro(); meuVeiculo.buzinar(); // Chama o método buzinar() da classe Carro

Aqui, meuVeiculo é uma referência do tipo Veiculo, mas aponta para uma instância de Carro. Quando o método buzinar() é chamado, a implementação sobrescrita em Carro é executada.

Considerações Importantes sobre Herança e Polimorfismo

Embora a herança e o polimorfismo sejam poderosos, eles devem ser usados com cautela. Herança excessiva ou inadequada pode levar a uma estrutura de classes confusa e difícil de manter. É importante seguir o princípio do "menor conhecimento" e expor apenas o necessário. Além disso, a composição muitas vezes pode ser uma alternativa mais flexível à herança.

O polimorfismo, por outro lado, quando usado sabiamente, pode tornar o código mais genérico e reutilizável. Por exemplo, uma função que opera em objetos do tipo Veiculo pode funcionar com qualquer subclasse de Veiculo, sem precisar conhecer os detalhes específicos de cada subclasse.

Conclusão

Herança e polimorfismo são fundamentais na programação orientada a objetos em Java. Eles permitem que os desenvolvedores construam sistemas extensíveis e reutilizáveis, reduzindo a redundância de código e melhorando a manutenção. Ao mesmo tempo, é essencial usar esses conceitos de forma ponderada e entender suas implicações no design do software. Com a prática e experiência, os programadores podem dominar o uso eficaz de herança e polimorfismo para criar aplicações robustas e flexíveis em Java.

Répondez maintenant à l’exercice sur le contenu :

Qual das seguintes afirmações sobre herança e polimorfismo em Java está correta?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

8513.1. Herança e Polimorfismo em Java: Conceito de Herança

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte