Polimorfismo [RESOLVIDO]

9 respostas
S

Pessoal, achei no google algumas coisas falando sobre polimorfismo, porém não entendi.
Alguém tem algum exemplo básico ?

Atc,
Fernando.

9 Respostas

Scoobydoo

Kara… Bem simples.
Voce tem uma Classe que vai emitir um Som Do Windows.
Tipo

emitirSomWindows(Som som){ emitir.Som }

Para chamar esse procedimento você tem 2 classes.
A classe SomDeCachorro e a classe SomDeGato

Na classe SomDeCachorro voce bota

emitirSomWindows(SomDoCachorro);

na classe SomDeGato voce bota

emitirSomWindows(SomDoGato)...

Mas ou menos assim

  1. O objeto “a” cria o objeto “b”

class A { void façaAlgo() { Gritador b; if(...) { b = new Humano(); } else { b = new Macaco(); } b.grita(); // chamada polimórfica } }
2. O objeto “a” recebe o objeto “b” de um objeto “c”

class A { void façaAlgo() { Gritador b = c.meDêUmGritador(); // "c" é um objeto qualquer para o qual tenho referência b.grita(); // chamada polimórfica } }
3. O objeto “a” recebe o objeto “b” numa chamada de método

class A { void façaAlgo(Gritador b) { b.grita(); // chamada polimórfica } }

barney

Nada mais é do que você ter a possibilidade de criar um mesmo objeto de várias formas…

public class Bola {

private String cor;
private String marca;

public Bola(String cor) {
    this.cor=cor;
}

public Bola(String cor, String marca) {
    this.marca=marca;
    this.cor = cor;
}

public Bola() {

}

Você vai ter 3 maneiras diferentes de criar o seu objeto

B

barney:
Nada mais é do que você ter a possibilidade de criar um mesmo objeto de várias formas…

public class Bola {

private String cor;
private String marca;

public Bola(String cor) {
    this.cor=cor;
}

public Bola(String cor, String marca) {
    this.marca=marca;
    this.cor = cor;
}

public Bola() {

}

Você vai ter 3 maneiras diferentes de criar o seu objeto

Isso é sobrecarga de métodos, não polimorfismo.

ViniGodoy

A confusão está no fato da programação estruturada também chamar a sobrecarga de funções de “polimorfismo estático”.

Scoobydoo

Vlw *Godoy.
Tem gente que só sabe reclamar :?

vinicius.martinez

Acho que esse artigo irá lhe ajudar bastante:

http://www.guj.com.br/posts/list/33372.java

sergiotaborda

santos.fernando:
Pessoal, achei no google algumas coisas falando sobre polimorfismo, porém não entendi.
Alguém tem algum exemplo básico ?

Existem vários tipos de polimorfismo. De qual deles vc quer um exemplo ?

S

Levando em consideração que minha classe Gerente herda da classe Funcionário, todos os métodos estão funcionando beleza, tudo certinho, posso dizer que Polimorfismo é isso?

Gerente  gerente = new Gerente();
Funcionario funcionario = gerente;

Atc,
Fernando.

A

Cara, POLIMORFISMO é IMPLEMENTAR PARA SUPER CLASSE. E o que passar disso é do maligno, e tenho dito!

É o coração do paradigma orientação a objetos. É a cosia mais linda já inventada.

Que prazer pegar um código cheio de polimorfismo pra dar manutenção.

Eu posso tirar férias e mesmo assim as outras pessoas poderão continuar escrevendo subclasses para minha superclasse e todas elas poderão ser submetidas aos métodos onde há um argumento polimórfico.

Que exemplo tosco, provido da minha empolgação. Desculpem… ahahha

Abraços!

Criado 21 de janeiro de 2010
Ultima resposta 21 de jan. de 2010
Respostas 9
Participantes 8