Polimorfirmo – POO

Este é o primeiro artigo sobre Programação Orientada a Objetos, de uma série que pretendo publicar.

Polimorfismo:

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura), mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia (Wikipedia).

Para demonstrar os conceitos de polimorfismo e método estático (método que pode ser aplicado à classe e não necessariamente a um objeto), suponhamos as seguintes classes java:

A classe Operacao (acima) é uma classe abstrata que representa qualquer operação matemática (soma, subtração, divisão e multiplicação).

Definiremos a seguir as subclasses Soma, Subtracao, Divisao e Multiplicacao que têm  a classe Operacao como “classe pai”.

A classe Contas (abaixo) como o método estático (static) mostrarCalculo.

Na classe Executa (abaixo) é demonstrado o uso do polimorfismo e do uso dos métodos estáticos.

O método calcular está sendo chamando quatro vezes dentro do método mostrarCalculo, mas o tipo utilizado como parâmetro é diferente ( o objeto operação “assume diferentes formas”, o que equivale ao conceito do Polimorfismo em POO).

O método calcular está sendo chamando quatro vezes dentro do método mostrarCalculo, mas o tipo utilizado como parâmetro é diferente ( o objeto operação “assume diferentes formas”, o que equivale ao conceito do Polimorfismo em POO).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *