Polimorfismo (OO)

Juliana Jenny Kolb

teste

Home > Engenharia de Software >  Sumário > Engenharia de Requisitos > UML > Orientação a Objetos (OO)

Polimorfismo

O conceito de Polimorfismo está associado à Herança. O Polimorfismo trabalha com a redeclaração de métodos previamente herdados por uma classe. Esses métodos, embora semelhantes, diferem de alguma forma da implementação utilizada na super-classe, sendo necessário, portanto, reimplementá-los na sub-classe.

Porém, para evitar ter que modificar o código-fonte, inserindo uma chamada a um método com o mesmo nome declarado na superclasse. Dessa maneira podem existir dois ou mais métodos com a mesma nomenclatura, diferenciando-se na maneira como foram implementados, sendo o sistema responsável por verificar se a classe da instância em questão possui o método declarado pela própria ou se o herda de uma superclasse. A figura 1 ilustra um exemplo de polimorfismo.

polimorfismo

Figura 1: Exemplo de polimorfismo.

Fonte: GUEDES (2006).

Nota:

Tanto polimorfismo quanto herança são referências no ramo de reutilização de código, pois trabalham em conjunto. Existem dois tipos de polimorfismo que são conhecidos como sobrecarga (overload) e sobreposição (override).

A sobrecarga (overload) consiste em permitir, dentro da mesma classe, mais de um método com o mesmo nome. Entretanto, eles necessariamente devem possuir argumentos diferentes para funcionar.

Na Sobreposição de métodos (override) ou (sobrescrita), podemos reescrever nas classes filhas métodos criados inicialmente na classe pai, os métodos que serão sobrepostos, diferentemente dos sobrecarregados, devem possuir o mesmo nome, tipo de retorno e quantidade de parâmetros do método inicial, porém o mesmo será implementado com especificações da classe atual, podendo adicionar um algo a mais ou não.

 

Referência Bibliográfica

GUEDES, Gilleanes T. A. UML: Uma abordagem prática. São Paulo: Novatec, 2006.

Deixe uma resposta