Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Algumas duvidas

1 - Como indentificar quando usar polimorfismo e reutilizacao?

2 - A gente sempre tem que escolher ou um ou outro? ou existe um meio nisso? que nem o protected e o private.

1 resposta
solução!

Olá Marcelo! Tudo bem?

É uma pergunta interessante a que você fez...

Seria muito complicado eu te falar que usamos polimorfismo somente em casos X, Y e Z. Como vemos neste trecho da transcrição da aula:

O relacionamento de composição difere do relacionamento de herança, naquele, há uma interdependência onde a existência de um depende da do outro, já na composição, cada classe existe independentemente.

Isso significa que, quando queremos fazer apenas a reutilização de código, podemos utilizar a composição. Teoricamente, podemos trabalhar sem a herança com o Java.

James Gosling, o inventor da linguagem Java, em uma entrevista falou que, à época da criação do Java, ele estava experimentando com as interfaces e que talvez, se tivesse mais tempo e menos pressão comercial para lançar a linguagem, a teria lançado sem a herança. Ele não afirma que a herança é algo negativo, pelo contrário, mas é um conceito difícil de se acertar. Já a interface e a composição são mais flexíveis e fáceis de trabalhar.

No fim, temos as duas opções em Java. Atualmente, é mais comum a utilização das interfaces e composições, em detrimento da herança, mas é importante sabermos que ambos existem.

Como vemos no texto, existem momentos em que a herança é suficiente para solucionar o nosso problema, enquanto em outros, é mais útil utilizar a composição por meio de interfaces, já que nos dão possibilidades mais flexíveis.

O polimorfismo é aplicado sempre que notamos a sua necessidade.

Aplicar o polimorfismo é utilizar a capacidade de um objeto poder ser referenciado de várias formas. Isso nem sempre é necessário, pois como vemos no caso da herança e composição, existem recursos que podem ser utilizados no lugar de outros.

Mas o polimorfismo em si é um dos pilares essenciais da orientação a objetos, então entender como ele funciona e a possibilidades que ele nos traz é muito importante.

Ao seguir estudando orientação a objetos e praticando, naturalmente você aprenderá cada vez mais sobre situações em que é mais prático utilizar o polimorfismo, ou outras, em que é mais prático usar herança. Não existe um caminho rígido a ser seguido... o que nos ajuda a tomar essas decisões são as boas práticas que aprendemos aos nos aprofundar cada vez mais na linguagem, e claro, praticar o que estamos aprendendo.

Consegui te ajudar? Se ainda tiver dúvidas sobre o tema da aula, é só falar!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!