Você está na página 1de 18

PROGRAMAÇÃO

ORIENTADA POR OBJETOS


POLIMORFISMO UNIVERSAL PARAMÉTRICO
POLIMORFISMO AD HOC
Prof. João Caram
PUC MINAS SISTEMAS DE INFORMAÇÃO
Polimorfismo universal paramétrico
2

 Tipo abstrato de dados ou método cujos códigos


são genéricos, de maneira a permitir que valores
sejam manipulados de forma similar
independentemente do seu tipo.

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Polimorfismo universal paramétrico
3

 Por exemplo, listas de:


 Compras

 Pendências no trabalho
 Avaliações na faculdade

 Pessoas esperando atendimento

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Polimorfismo universal paramétrico
4

 Por exemplo, listas de: Retirar elemento


 Compras

 Pendências no trabalho
 Avaliações na faculdade

 Pessoas esperando atendimento

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Polimorfismo universal paramétrico
5

 Por exemplo, listas de: Retirar elemento


 Compras
Adicionar elemento
 Pendências no trabalho
 Avaliações na faculdade

 Pessoas esperando atendimento

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Polimorfismo universal paramétrico
6

 Por exemplo, listas de: Retirar elemento


 Compras
Adicionar elemento
 Pendências no trabalho
Buscar elemento
 Avaliações na faculdade

 Pessoas esperando atendimento

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Polimorfismo universal paramétrico
7

 Por exemplo, listas de: Retirar elemento


 Compras
Adicionar elemento
 Pendências no trabalho
Buscar elemento
 Avaliações na faculdade

 Pessoas esperando atendimento Qualquer lista deve fazer isto!

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Polimorfismo universal paramétrico
8

 A genericidade é atingida por:

 Uso de classes ou tipos básicos como parâmetro

 Mecanismo de implementação que substitua implícita


ou explicitamente o tipo parametrizado quando
necessário
PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Exemplo no Visual Studio
9

 Coleções
 Método ToString
 Método Equals

 Métodos de comparação

 Métodos de ordenação

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
10 Polimorfismo ad hoc

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Coerção
11

 Conversão de tipo explícita definida pelo


programador
 Ex: Shape x;
Rectangle y;
x = new Rectangle(4,5);
y = (Rectangle)(x);

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Coerção
12

int x, y;
double res;
x = 5;
y = 2;
res = x/y;
System.out.println(res);

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Coerção
13

int x, y;
double res;
x = 5;
y = 2;
res = x/y;
System.out.println(res); → 2

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Coerção
14

int x, y;
double res;
x = 5;
y = 2;
res = (double)x/y;
System.out.println(res); → 2.5

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Sobrecarga
15

 Criação de diversos métodos com o mesmo nome


mas diferentes parâmetros de entrada (e , algumas
vezes, saída)
 Ações diferentes
 Não é universal: somente para os tipos/classes para o
qual foi implementada a sobrecarga.

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Sobrecarga
16

 Operadores
float x, y;
int z,k ;
(...)
cout<<(x/y);
cout<<(z/k);

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
Sobrecarga
17

 Métodos
Data maior(Data a, Data b);
int maior(int a, int b);

PUC Minas – Curso de Sistemas de Informação – Programação Orientada por Objetos – Prof. João Caram
OBRIGADO.

Dúvidas?

Você também pode gostar