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:

public abstract class Operacao {
public abstract double calcular(int x, int y);
}

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”.

public class Soma extends Operacao {
    public double calcular(int x, int y){
      double soma = x+y;
      return soma;
    }
}
 
public class Subtracao extends Operacao {
public double calcular(int x, int y){
return x-y;
}
}
 
public class Divisao extends Operacao {
   public double calcular(int x, int y){
     return x/y;
   }
}
 
public class Multiplicacao extends Operacao {
   public double calcular(int x, int y ){
     return x * y;
   }
}

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

public class Contas {
 
  public static void mostrarCalculo(Operacao operacao, int x, int y){
 
    System.out.println(“O resultado da é:+ operacao.calcular(x, y));
 
  }
 
}

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

public class Executa {
 
// Método principal (executável)
 
   public static void main(String[] args) {
 
// Mostra a soma
 
   Contas.mostrarCalculo(new Soma(), 8, 9); //Imprime o valor: 17.0
 
// Mostra a subtracao
 
   Contas.mostrarCalculo(new Subtracao(), 12, 10); //Imprime o valor: 2.0
 
// Mostra a divisao
 
   Contas.mostrarCalculo(new Divisao(), 12, 2); //Imprime o valor: 6.0
 
// Mostra a multiplicação
 
   Contas.mostrarCalculo(new Multiplicacao(),23,23); //Imprime o valor: 529.0
 
   }
 
}

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).

Internet II – Conteúdo da 2ª Prova – 1/2009

Olá turma.

O professor José Eduardo enviou um resumo do conteúdo que será cobrado na próxima prova:

Data: 27 de maio de 2009

Material de apoio (do site vqv):

  • Slides de introdução Aplicações Web – baixar
  • Slides sobre a camada de persistência com atividades – baixar
  • Exemplos vistos em sala com JSP e Servlets – baixar
  • Exemplo visto em sala sobre camada de persistência com JDBC, DAO e Singleton – baixar

O exemplos foram desenvolvidos, usando JDK 1.6, NetBeans 6.5 com Tomcat, SGBD Mysql e Driver Mysql para JDBC.

Bom estudo a todos.

Curso completo de Java “grátis”

Explorando o site do DFJUG, uma comunidade de desenvolvedores Java, sobre desta iniciativa fantástica!

São curso bem didáticos. Eu classificaria de níveis básicos e intermediários (ainda nao vi todos) e penso que para os grupos que usarão a linguagem Java no projeto é uma ótima fonte de conhecimento. E de graça!

Para acessar e ter informações sobre os cursos (são vários módulos do curso completo) é muito fácil:

1. Acesso o o site da Iniciadiva JEDI.

2. Clique em uma “imagem menu” à esqueda da página.

3. Preencha o formulário “simples” de cadastro.

Pronto. é só escolher o curso que pretende iniciar.

O ano de 2009 será um anon “especial” a todos do 7º semestre de sistemas, ano de TCC.
Sucesso a todos!