Está en la página 1de 3

UNIVERSIDAD ESTATAL DEL SUR DE MANABÍ

CARRERA TEGNOLOGIA DE LA INFORMACION

ASIGNATURA:
PROGRAMACION I

INTEGRANTES:
ALVAREZ LAJE BRYAN ASTERIO
PONCE SOLORZANO BRYAN RICARDO

SEMESTRE:
SEGUNDO” A”

DOCENTE:
ING. MERCEDES ORTIZ HERNANDEZ
POLIMORFISMO

Polimorfismo significa que muchas clases pueden proporcionar la misma


propiedad o el mismo método y que el que llama no tiene por qué saber la clase a
la que pertenece el objeto antes de llamar a la propiedad o al método.

El polimorfismo es una relajación del sistema de tipos, de tal manera que una
referencia a una clase (atributo, parámetro o declaración local o elemento de un
vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas
(hijas, nietas, …).

Veremos que el polimorfismo y la herencia son dos conceptos estrechamente


ligados. Conseguimos implementar polimorfismo en jerarquías de clasificación
que se dan a través de la herencia. Por ejemplo, tenemos una clase vehículo y de
ella dependen varias clases hijas como coche, moto, autobús, etc.

 Se puede modificar localmente el comportamiento de los métodos heredados

 De esta manera, objetos de diferentes tipos pueden responder de forma diferente a la


misma llamada

 Este es el concepto clave del polimorfismo

 Ejemplos:

 Se mueve igual un pez, un pájaro o una rana?

 En cambio, todos son animales y por tanto podrían heredar el método mover de dicha
clase

 Gracias al polimorfísmo, cada objeto concreto realizaría la operación mover como


corresponda
Ejemplo

Trata de definir el código de las clases, estableciendo las relaciones de herencia y uso entre ellas. Trata de
crear una clase con el método main (TestHerencia4) donde de alguna manera crees objetos de los
distintos tipos y hagas uso de ellos, por ejemplo crea profesores interinos y titulares y luego recórrelos con
un for extendido donde el tipo sea Profesor (uso del polimorfismo). Luego compáralo con las explicaciones
y soluciones que damos a continuación.

En la solución que hemos planteado nosotros, en el tipo Profesor hemos incluido un método denominado
mostrarDatos() que muestra los datos propios de un objeto Profesor. Luego, en las subclases
ProfesorInterino y ProfesorTitular hemos sobreescrito el método mostrarDatos() de modo que en este
caso únicamente muestra los datos específicos de los subtipos.

Por último, en la clase ListinProfesores simulamos un listín que admite todo tipo de profesores mediante
un ArrayList que usa objetos de tipo Profesor, y que permite listar los profesores mediante un método
listar() que lo que hace es invocar el método mostrarDatos() de los objetos contenidos en la lista. Si el
método utilizado se basara en el tipo declarado en el código, listar() siempre nos devolvería los datos de
los objetos Profesor.

También podría gustarte