Autor Tema: (CU00678B) que es polimorfismo java concepto definicion  (Leído 2904 veces)

Xerelo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 9
    • Ver Perfil
Bueno quiero saber si el concepto que tengo de polimorfismo es el adecuado o no...

A ver..

Si tenemos 2 clases y A es la superclase y b es la subclase

A y B

y esas 2 clases tienen el mismo Método, por ejemplo llamado: DimeEdad();
y en la clase A el método DimeEdad devuelve un 3
y en la clase B el metodo DimeEdad devuelve un 4

Lo que hace el polimorfismo es(esto es un ejemplo muy abstracto):

A Prueba1 = new B();


y bueno hay lo que mostraría es un 4  no?

Y mi pregunta es, si todo lo que dije es cierto ¿Para que sirve el polimorfismo? que es lo que lo hace importante?

Si no es así podrías intentarlo explicarmelo porfavor?.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:(CU00678B) que es polimorfismo java concepto definicion
« Respuesta #1 en: 10 de Marzo 2015, 08:11 »
Hola Xerelo, para comprender el polimorfismo hace falta un poco de tiempo (no es un concepto que se explique y se entiende a la primera) y programar para ir viendo cómo se aplica.

Lo que tú comentas es cierto, si instancias un objeto declarado como A en un objeto de tipo B, al invocar el método DimeEdad() se mostraría 4.

Son ventajas del polimorfismo:

- Te permite crear y recorrer colecciones de objetos de superclase A y subclase B, C, D, E siempre que hereden de A. Si no hubiera polimorfismo no podrías agrupar todos los objetos en una colección porque al ser de distintos tipos no sería posible. En cambio con el polimorfismo defines la colección como de tipo A, y como los objetos son al mismo tiempo tipo A-B, A-C, A-D, A-E puedes mantenerlos en una misma colección.

- Te permite definir interfaces que al mismo tiempo que definen un tipo, obligan a seguir una convención. Esto no es fácil de entender, pero ten en cuenta por ejemplo que distintas clases del api de Java tienen los mismos nombres de métodos, por ejemplo clear, porque implementan una interfaz que define que las clases deben tener un método clear cuyo cometido es el mismo para todas las clases. Esto facilita el trabajo de los programadores, que no tienen que estar buscando en cada clase a ver qué nombre tienen que utilizar, sino que ya lo saben si implementa una determinada interfaz.

Como te decía todo esto no es fácil de entender y hay que irlo entendiendo "poco a poco". Te recomiendo ir siguiendo y haciendo los ejercicios en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188, eso facilitará la comprensión de conceptos.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".