António Roberto Software
a.roberto@mail.telepac.pt

Linguagens de Programação 1
2º ano da Licenciatura em Informática de Gestão

Aula de 25 de Janeiro de 2002

Polimorfismo

Família de classes cFigura

  • Especialização através da derivação de classes
    • Um triângulo é uma classe especial de figura geométrica, um círculo é uma classe especial de figura geométrica
  • Reutilização da interface
    • Todas as classes derivadas possuem os métodos Area e Ler , com a mesma assinatura da classe base.
    • A implementação do cálculo da Area e do método Ler é diferente em cada uma das classes
  • Tratamento igual do lado do cliente
    • Invocação geral dos métodos Area e Ler, independentemente da classe do objecto
    • Excepção : criação dos objectos ( aí é necessário especificar o construtor )
  • Palavra mágica : virtual

 

Projecto : Figura1 Tipo de Projectos : Win32 Console Application
Ficheiros do projecto :
Sem polimorfismo

Declaração das classes cTriangulo, cRectangulo e cCirculo

Definição das classes cTriangulo, cRectangulo e cCirculo

Cliente das classes cTriangulo, cRectangulo e cCirculo

 

Projecto : Figura2 Tipo de Projectos : Win32 Console Application
Ficheiros do projecto :
Com polimorfismo

Declaração da família de classes cFigura

Definição da família de classes cFigura

Cliente da família de classes cFigura