Ir al contenido principal

II Semestre - Java: Ejemplo de Polimorfismo



Ejemplo de Herencia Simple y Polimorfismo


En este ejemplo se muestra la creación de una sencilla jerarquía de clases que a su vez, permite utilizar de manera muy simple el polimorfismo a través de clases abstractas.

Primero definimos una clase abstracta denominada "Animal":













Las clases abstractas no pueden ser instanciadas en forma directa, mas bien necesitamos utilizar esta clase para generar nuestra Jerarquía, entonces creamos una clase denominada "Perro" que herede de "Animal":



De manera similar, definimos una clase denominada "Gato" que tambien hereda de la clase abstracta "Animal":



Ahora, hacemos un test de las clases creadas y como se puede apreciar, utilizamos el método polimórfico "habla()" el cual responde segun el objeto mediante el cual ha sido invocado en el main.






Comentarios

  1. profesor quisiera saber a cerca de:
    1)redifinicion de metodos en polimorfismo,a que se refiere.
    2)por que en las clases abstractas no se pueden instanciar.
    me gustaria que lo explique en clases.

    ResponderEliminar
  2. profesor en varios ejemplos sobre herencia y polimorfismo he encontrado la palabra toString()me gustaria saber para que se utiliza y como trabaja.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

II Semestre - JAVA: EJERCICIOS SOBRE JERARQUIAS DE HERENCIA

Debate: Discutir las formas en que la herencia promueve la reutilización de software, se ahorra tiempo durante el desarrollo del programa y ayuda a prevenir errores. Ejercicio: Diseñar una jerarquía de herencia para los estudiantes en una universidad. Usar la clase Student como la superclase de la jerarquía, a continuación, extender Student con las clases de UndergraduateStudent y GraduateStudent . Continúe extendiendo la jerarquía tando como sea posible(como muchos niveles). Por ejemplo, Freshman , Sophomore , Junior y Senior podría heredar de UndergraduateStudent , asi mismo  DoctoralStudent y MastersStudent podría ser subclases de GraduateStudent . Despues de diseñar la jerarquía debatir las relaciones que existen entre las clases. [Nota: No es necesario escribir ningún código para este ejercicio.] Debate Algunos programadores prefieren no utilizar el acceso protegido, porque creen que rompe la encapsulación de la superclase. Discutir los méritos relativos de acceso pr...

II Semestre - JAVA: Conceptos Generales sobre Programación Orientada a Objetos

Saludos: Encontré este buen material teórico acerca de Programación Orientada a Objetos (POO), utilicen este tutorial para repasar algunos conceptos o aprender unos nuevos. Espero sus preguntas acerca de lo leído. Conceptos básicos de la Programación Orientada a Objetos Recuerden que la participacion en clase y en este blog viene siendo evaluada

II SEMESTRE: JAVA - Arrays Bidimensionales

Un Array bidimensional se diferencia del unidimensional simplemente porque este está basado en tablas, lo cual indica una composición de FILAS y COLUMNAS, esto quiere decir que para acceder a un elemento en particular de un array debe indicarse la coordenada completa, es decir: x=matriz[1][1]; x almacena el valor de la coordenada (1,1) de una matriz dada. Veamos un ejemplo: