15. Polimorfismo e ligação dinâmica

Vamos agora abordar um dos mecanismos mais importantes do paradigma orientado a objetos.

 

Se criarmos vários jogos diferentes, não só por terem jogadores e jogadas diversas, mas também por serem de tipos diferentes – uns com pontuação objetivo, outros com número exato de jogadas a fazer, por exemplo – percebemos que há certas ações que podemos fazer com todos eles, independentemente das suas diferenças. Podemos adicionar jogadores, registar jogadas, saber a melhor pontuação até agora, obter a representação textual, conhecer os nomes dos vencedores, etc. Ou seja, podemos fazer com todos eles exatamente aquilo que a classe Jogo fornece.

Um exemplo:

Cujo output é:

Seria bom poder generalizar alguns conjuntos de instruções do main acima, pois a única diferença que têm é o objeto sobre o qual incidem. Na próxima secção vamos ver como fazer isso.

 

 


 

Anterior: 14.9. Redefinição versus atributos

Seguinte: 15.1. Polimorfismo