Pessoal, achei no google algumas coisas falando sobre polimorfismo, porém não entendi.
Alguém tem algum exemplo básico ?
Atc,
Fernando.
Pessoal, achei no google algumas coisas falando sobre polimorfismo, porém não entendi.
Alguém tem algum exemplo básico ?
Atc,
Fernando.
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
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
}
}
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
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.
A confusão está no fato da programação estruturada também chamar a sobrecarga de funções de “polimorfismo estático”.
Vlw *Godoy.
Tem gente que só sabe reclamar :?
Acho que esse artigo irá lhe ajudar bastante:
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 ?
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.
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!