Foros del Web » Programación para mayores de 30 ;) » Java »

esto es polimorfismo?

Estas en el tema de esto es polimorfismo? en el foro de Java en Foros del Web. Hola a todos, dado que navegando he econtrado ejemplos muy distintos de polimorfismo, queria preguntarles, para asegurarme, si en el siguiente ejemplo hay polimorfismo. gracias. ...
  #1 (permalink)  
Antiguo 04/02/2010, 07:41
 
Fecha de Ingreso: junio-2006
Mensajes: 166
Antigüedad: 17 años, 10 meses
Puntos: 3
esto es polimorfismo?

Hola a todos, dado que navegando he econtrado ejemplos muy distintos de polimorfismo, queria preguntarles, para asegurarme, si en el siguiente ejemplo hay polimorfismo. gracias.


class Cantante{
private String nombre;
public void Cantar()
{
System.out.println("Yo Canto Mucho La La La La");
}
} // fin Cantante
class Corista extends Cantante{
public void Cantar()
{
System.out.println("Yo Canto muy poco la la");
}
} //fin Corista
class Nino extends Cantante {
public void Cantar()
{
System.out.println("Yo Canto en el parque");
}
} //End Niño
public class Cantando{
// ejemplo de polimorfismo de Metodo Cantar
public static void main(String args[])
{
Cantante Canta = new Cantante();
Corista coro = new Corista();
Nino ninito = new Nino();
System.out.println("----Estamos usando polimorfismo del metodo cantar----");

Canta.Cantar(); // canta un cantante
coro.Cantar(); // canta un corista
ninito.Cantar(); // canta un niño

}
}
  #2 (permalink)  
Antiguo 04/02/2010, 09:32
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: esto es polimorfismo?

Sí, es polimorfismo, aunque como ejemplo del mismo me parece un poco pobre.

Podrías hacer algún set de atributos diferente si tienes atributos, y así te quedaría más diferenciado.
  #3 (permalink)  
Antiguo 04/02/2010, 10:55
 
Fecha de Ingreso: junio-2006
Mensajes: 166
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: esto es polimorfismo?

gracias.. no entendi que le debo agregar para que quede mas diferenciado.. saludos
  #4 (permalink)  
Antiguo 04/02/2010, 11:38
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: esto es polimorfismo?

Pues no sé, podrías tener un grado de popularidad para el cantante q se sume +2 cada vez que cante, +1 para el corista y el niño que no sume nada.
  #5 (permalink)  
Antiguo 04/02/2010, 11:47
 
Fecha de Ingreso: junio-2006
Mensajes: 166
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: esto es polimorfismo?

aaa vos decis que dentro de la funcion cantar agregue una variable polpularidad que le asige un valor?
  #6 (permalink)  
Antiguo 04/02/2010, 13:52
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: esto es polimorfismo?

Hola:

Para que realmente quede claro el ejemplo de polimorfismo, se deberían asignar todos los objetos a variables del tipo de la clase padre, así

Cantante Canta = new Cantante();
Cantante coro = new Corista();
Cantante ninito = new Nino();

de esta forma, la llamada a ninito.Cantar(), a pesar de ser ninito de tipo Cantante, llama en realidad al método Cantar() de Nino. Y ese es el polimorfismo, que teniendo una variable del tipo de la clase padre, en realidad está llamando a un método de una clase hija.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 05/02/2010, 02:59
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: esto es polimorfismo?

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

Para que realmente quede claro el ejemplo de polimorfismo, se deberían asignar todos los objetos a variables del tipo de la clase padre, así

Cantante Canta = new Cantante();
Cantante coro = new Corista();
Cantante ninito = new Nino();

de esta forma, la llamada a ninito.Cantar(), a pesar de ser ninito de tipo Cantante, llama en realidad al método Cantar() de Nino. Y ese es el polimorfismo, que teniendo una variable del tipo de la clase padre, en realidad está llamando a un método de una clase hija.

Se bueno.
Exacto, el polimorfismo es eso, o sea toma como ejemplo la clase List y te daras cuenta.
También puedes darte cuenta del polimorfismo mirando las interfaces y las clases que las implementan.

Última edición por asd9090; 05/02/2010 a las 03:05
  #8 (permalink)  
Antiguo 06/02/2010, 11:30
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 0
Busqueda Respuesta: esto es polimorfismo?

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

Para que realmente quede claro el ejemplo de polimorfismo, se deberían asignar todos los objetos a variables del tipo de la clase padre, así

Cantante Canta = new Cantante();
Cantante coro = new Corista();
Cantante ninito = new Nino();

de esta forma, la llamada a ninito.Cantar(), a pesar de ser ninito de tipo Cantante, llama en realidad al método Cantar() de Nino. Y ese es el polimorfismo, que teniendo una variable del tipo de la clase padre, en realidad está llamando a un método de una clase hija.

Se bueno.
Muy correcto lo que dice chuidiang.
Es mas existen distintos tipos de polimorfismo
-Polimorfismo de asignación (variables polimorfas)
– Polimorfismo puro (función polimorfa)
– Polimorfismo ad hoc (sobrecarga)
– Polimorfismo de inclusión (redefinición)
– Polimorfismo paramétrico (genericidad)
El polimorfismo de asignación seria asi
Cantante persona;
persona = new Cantante();
persona.cantar();
persona = new Corista();
persona.cantar();
persona = new Nino()
persona.cantar();

esto es asi gracias a la herencia , la comprobación estática de tipos y el enlace dinámico
La herencia como mecanismo de extensión.
La comprobación estatica de tipos garantiza que almenos el mensaje persona.cantar() sea valido
El enlace dinámico nos garantiza la ejecución de la versión mas adecuada del método


Saludos


-----------------------------------
Visiten www.devshared.net

Última edición por devshared; 06/02/2010 a las 12:37
  #9 (permalink)  
Antiguo 07/02/2010, 07:23
 
Fecha de Ingreso: junio-2006
Mensajes: 166
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: esto es polimorfismo?

muchas gracias a todos, me han ayudado muchisimo!!!!!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.