Capa do Ebook gratuito Curso completo de Lógica de Programação para iniciantes

Curso completo de Lógica de Programação para iniciantes

3.83

(6)

83 páginas

Classes e Objetos: Polimorfismo

Capítulo 51

Tempo estimado de leitura: 3 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

Polimorfismo é um dos quatro pilares fundamentais da Programação Orientada a Objetos (POO). O termo vem do grego, onde "poli" significa muitos e "morphos" significa formas. Portanto, polimorfismo é a capacidade de um objeto assumir muitas formas. Na programação, isso se traduz na capacidade de uma variável, função ou objeto representar mais de um tipo de dado.

Para entender o polimorfismo, é útil primeiro compreender as classes e os objetos. Uma classe é um modelo ou um esboço que descreve as variáveis e os métodos comuns a todos os objetos de um certo tipo. Um objeto é uma instância de uma classe. Quando uma classe é definida, nenhum espaço de memória é alocado. Apenas quando é criado um objeto da classe é que a memória é alocada.

Por exemplo, considere uma classe chamada "Animal". Esta classe pode ter variáveis como "nome" e "idade" e métodos como "comer" e "dormir". Agora, podemos criar objetos desta classe, como "cachorro" e "gato", que são ambos animais, mas se comportam de maneira diferente. O cachorro pode latir, enquanto o gato pode miar. Isto é onde o polimorfismo entra em jogo.

No polimorfismo, uma classe pode ter muitos métodos com o mesmo nome, mas com diferentes implementações. Por exemplo, a classe "Animal" pode ter um método "som" que produz diferentes sons dependendo do tipo de animal. Para o objeto "cachorro", o método "som" pode retornar "latido", enquanto para o objeto "gato", ele pode retornar "miado".

Existem dois tipos básicos de polimorfismo: estático (ou sobrecarga) e dinâmico (ou substituição).

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

O Polimorfismo Estático ocorre em tempo de compilação. Aqui, o método a ser invocado é determinado pelo compilador. A sobrecarga de método e a sobrecarga de operador são exemplos de polimorfismo estático.

Por outro lado, o Polimorfismo Dinâmico ocorre em tempo de execução. Aqui, o método a ser invocado é determinado em tempo de execução. A substituição de método é um exemplo de polimorfismo dinâmico.

Para exemplificar, suponha que temos uma superclasse chamada "Animal" e duas subclasses chamadas "Cachorro" e "Gato". A superclasse tem um método chamado "som" que é substituído pelas subclasses. Se criarmos um objeto da superclasse e um objeto de cada uma das subclasses, e então chamarmos o método "som" para cada um deles, o resultado será diferente para cada objeto, mesmo que o método chamado seja o mesmo. Isso é polimorfismo.

O polimorfismo é uma ferramenta poderosa que permite aos programadores escreverem código mais limpo e mais compreensível, e é um dos conceitos fundamentais da Programação Orientada a Objetos. Ele permite que os programadores manipulem objetos de diferentes classes através de uma interface comum, o que pode facilitar a manutenção e a expansão do código.

Em resumo, o polimorfismo é um conceito fundamental em programação orientada a objetos que permite que uma única interface represente uma generalidade de classes. Ele fornece um meio de integrar a complexidade ao permitir que o mesmo código seja utilizado para representar diferentes tipos de comportamento.

Agora responda o exercício sobre o conteúdo:

O que é Polimorfismo na Programação Orientada a Objetos (POO)?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

O polimorfismo é a capacidade de uma variável, função ou objeto representar mais de um tipo de dado. Ele permite que objetos de diferentes classes sejam tratados através de uma interface comum. É um conceito fundamental da POO, pois possibilita que o mesmo código opere sobre diferentes tipos de dados, tornando o software mais flexível e robusto.

Próximo capitúlo

Classes e Objetos: Associação entre classes

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.