Polimorfismo

4 respostas
Antonio_Carlos_M_Gom

Sou iniciande e estou com dificudade na utilização do polimorfismo e quero que alguem me ajude

4 Respostas

marcelo.bellissimo

Seja mais objetivo… qual a sua dificuldade? Não entende a teoria, não sabe aplicar, o que se passa?

Tiburcio_Mancha

Pesquise na net ou leia algum bom livro…depois tire suas dúvidas aqui!!!

vc quer tirar dúvidas ou precisa do conceito em trabalho de facul???

Javart

Existem Polimorfismo e suas derivações, algo que se entende onde posso estar em um domino de uma interface , posso ter um polimorfismo de herança , posso ter outras situações de polimorfismo que são gerenciados até por Patterns.

Um exemplo abstrato e ilustrativo algo como sua mente(Cabeça) gerencia todas as estäncias de funcionamento todos seus membros do corpo, braços, pernas, olhar, mãos etc…, na ação polimorfica de chamar todos sendo mente a interface controladora.

Javart
Javart:
Existem Polimorfismo e suas derivações, algo que se entende onde posso estar em um domino de uma interface , posso ter um polimorfismo de herança , posso ter outras situações de polimorfismo que são gerenciados até por Patterns.

Um exemplo abstrato e ilustrativo algo como sua mente(Cabeça) gerencia todas as estäncias de funcionamento todos seus membros do corpo, braços, pernas, olhar, mãos etc...., na ação polimorfica de chamar todos sendo mente a interface controladora.

Um exemplo Clássico:
class Vértice {
   public double x, y;
   Vértice( double x, double y ) {
      this.x = x;
      this.y = y;
   }
}

class Polígono {
   int numVértices;   // Quantidade de vértices do polígono
   Vértice v[];       // Coordenadas de seus vértices
}
class Gráfico {
   // Desenha o polígono no dispositivo gráfico
   void Desenhar(Polígono p) {
      SaídaGráfica g; // saída gráfica com método DesenhaLinha.
      Vértice anterior;
      anterior = p.v[0];
      // Une os vértices do polígono desenhando uma linha entre eles
      for(int i=1; i<numVértices; i++) {
         g.DesenhaLinha( anterior, p.v[i] );
         anterior = p.v[i];
      }
   }
}

class Retângulo extends Polígono {
   Retângulo(Vértice v[]) {
      this.v = new Vértice[4];
      numVértices = 4;
      for(int i=0; i<4; i++)
         this.v[i] = v[i];
   }
}

class Triângulo extends Polígono {
   Triângulo(Vértice v[]) {
      this.v = new Vértice[3];
      numVértices=3;
      for(int i=0; i<3; i++)
         this.v[i] = v[i];
   }
}

public class polimorfismo {
   // Coordenadas dos vértices de um retângulo
   static Vértice v[] = { 
      new Vértice(0.0,0.0), new Vértice(2.0,0.0), 
      new Vértice(2.0,1.0), new Vértice(0.0,1.0)
   };
   // Coordenadas dos vértices de um triângulo
   static Vértice w[] = { 

      new Vértice(-1.0,0.0), new Vértice(1.0,0.0), 
      new Vértice(0.0,1.0) 
   };

   public static void main(String args[]) {
      Polígono r, t;
      Gráfico g = new Gráfico();
      r = new Retângulo(v);    // Isto é válido, pois Retângulo é um Polígono
      t = new Triângulo(w);    // Isto é válido, pois Triângulo é um Polígono
      // Desenha o retângulo
      g.Desenhar( r );
      // Desenha o triângulo
      g.Desenhar( t );
   }
}
Criado 1 de dezembro de 2010
Ultima resposta 2 de dez. de 2010
Respostas 4
Participantes 4