Sobes.tech
Middle

O que é herança e polimorfismo no contexto de tipos de dados por referência?

sobes.tech IA

Resposta da IA

Herança é um mecanismo de POO que permite criar novas classes com base em classes existentes. A nova classe (subclasse) herda os campos e métodos da classe pai, e também pode adicionar os seus próprios ou sobrescrever os existentes. Isso promove a reutilização de código e a criação de hierarquias lógicas.

Polimorfismo é a capacidade de objetos de diferentes classes responderem de forma diferente ao mesmo método. Para tipos de dados de referência, isso significa que é possível trabalhar com objetos de diferentes classes através de uma referência à classe base ou interface. A implementação concreta do método chamado dependerá do tipo real do objeto em tempo de execução. Existem dois principais tipos de polimorfismo:

  • Estático (sobrecarga de métodos): O mesmo método possui várias implementações com diferentes conjuntos de parâmetros. O compilador determina qual usar com base na assinatura do método.
  • Dinâmico (sobrecarga de métodos): A subclasse fornece sua própria implementação do método, que já está definido na classe pai. A chamada ao método através de uma referência à classe pai é feita para executar a implementação na subclasse (se existir).