Oi, gente! Fico um pouco confusa com esses 2 termos. Qual a diferença entre polimorfismo e reutilização de código?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Oi, gente! Fico um pouco confusa com esses 2 termos. Qual a diferença entre polimorfismo e reutilização de código?
Oi Caroline.
É... tem uns conceitos que a gente tem que ler e reler pra tentar fixar. Eu sempre busco por analogias pra entender melhor um conceito e depois parto para o código. Vamos lá...
Polimorfismo Vamos dizer que um dos motivos de você ter comprado um carro foi a qualidade do sistema de som dele. Mas, no seu caso, digamos que a reprodução só pode ser feita via rádio ou bluetooth, enquanto que no seu antigo carro, podia ser feita apenas via cartão SD e pendrive. Em ambos os carros está presente o método "tocar música" mas, como o sistema de som deles é diferente, a forma como o carro toca as músicas é diferente. Dizemos que o método "tocar música" é uma forma de polimorfismo, pois dois objetos, de duas classes diferentes, têm um mesmo método que é implementado de formas diferentes, ou seja, um método possui várias formas, várias implementações diferentes em classes diferentes, mas que possuem o mesmo efeito ("polimorfismo" vem do grego poli = muitas, morphos = forma).
Reutilização de código No conceito de clean code - DRY (Don't Repeat Yourself, "Não se repita"): Todo código escrito para resolver um problema deve ser escrito apenas uma vez, a fim de evitar repetição de código. É quase uma variação do KISS, dado que a repetição de código o torna mais confuso e difícil de manter e corrigir, se necessário.
É claro que eu não tirei essas definições da cabeça. Dê uma olhada aqui: https://www.alura.com.br/artigos/poo-programacao-orientada-a-objetos
Tem excelentes exemplos também. Bons estudos!