vou explicar como isso funciona, uma exemplo que me fez intender bem o polimorfismo
vamos supor que vc tenha diversas classes filhas de A,
e vc tem uma classe que por ventura que pode retornar diversos objetos, relacionados ao A.
como vc faria isso funciona se nao usasse o nome da classe mae, nao funcionaria.
vo explicar com codigo pq estou me perdendo dhuashduas
essas sao minhas classes
[code]Class Mamifero {
abstract public Object nome();
}
class cachorro extend mamifero{
public Object nome(){
//implementacao
return object
}
}
class gato extend mamifero{
public Object nome(){
//implementacao
return object
}
}[/code]
agora vai aonde eu vo tirar proveito do polimorfismo
e agora vc vai fazer oq no metodo main
[code]class queroqualqueranimal {
public static void main teste(String[] args){
cachorro Cao = new Cachorro()
Object p = cao.getNome();
}
}[/code]
vc pode fazer issoo, EH CLARO QUE NAO, vc nao sabe que tipo de objeto vem ali.
dai vc pensa blz entao eu uso um casting (cachorro). “object p = (cachorro) cao.getNome()”
ahhh eh espertaoo vc fez um casting pra cachorro, mais e se vier o gato que que ti faz em em???
[color=red][size=18]aiii entra o polimorfismo [/size][/color]
[code]class queroqualqueranimal {
public static void main teste(String[] args){
mamifero Cao = new Cachorro()
Object p = (mamifero) cao.getNome();
}
}[/code]
agora eu sei que vai vir um objeto do tipo mamiferoo, pode vir cao, gato, baleia tudo que vc possa imaginar, isso poco importa para min e para o codigo ele sabe que eh do tipo mamifer.
cara eu sei que nao fui muito claroo nas explicaçoes mais espero que tenha intendido, eh que escrevi meio que na preça hdasuhduas
falow abs