4.- Polimorfismo

Page 1

4

POLIMORFISMO

PROGRAMACIÓN ORIENTADA A OBJETOS M.S.C. Raúl Mora Reyes


CONCEPTO Nos permite programar en forma general, en vez de programar de manera específica. En especial, nos permite escribir programas que procesen objetos que compartan la misma superclase en una jerarquía, como si todos fueran objetos de la superclase; esto puede simplificar la programación. M.S.C. Raúl Mora Reyes


EJEMPLO

Se crea un simulador de movimiento de varios animales. Las clases Pez, Rana y Ave representan los tres tipos de animales a simular. Las 3 extienden a la superclase Animal, en la que declaramos el método mover, pero no le damos contenido, ya que cada animal se mueve de diferente forma.

M.S.C. Raúl Mora Reyes


EJEMPLO

Posteriormente cada subclase deberá implementar el método mover, es decir indicar con código como se mueve cada tipo de animal: •

Pez: nada

Rana: da brincos

Ave: vuela

M.S.C. Raúl Mora Reyes


EJERCICIO ESCUELA

M.S.C. Raúl Mora Reyes


CONTEXTO: ESCUELA •

En una escuela se tienen diferentes tipos de Alumnos, y la información que se registra es la siguiente: •

Licenciatura: numero de control, nombre del alumno, carrera que cursa, semestre.

Maestría: numero de control, nombre del alumno, modalidad (Virtual o Presencial), créditos que cursa.

Doctorado: numero de control, nombre del alumno, título de su investigación, porcentaje de beca. M.S.C. Raúl Mora Reyes


CONTEXTO: ESCUELA •

Dependiendo del tipo de Alumno el cobro de inscripción se calcula de la siguiente manera: •

Licenciatura: para los semestres menores a 5 se les cobra $7500.00 en los otros casos $5600.00.

Maestría: por cada crédito que cursa se le cobra $478.90.

Doctorado: El costo de inscripción es de 10,700.00 y se le aplica el porcentaje correspondiente. M.S.C. Raúl Mora Reyes


SOLUCIÓN •

De acuerdo a lo anterior podemos determinar la siguiente jerarquía de herencia:

AlumnoLicenciatura

Alumno -numControl : String -nombre : String +inscripcion( ) : double

AlumnoMaestria

AlumnoDoctorado

-carrera : String -semestre : byte

-modalida : char -creditos : byte

-tituloInv : String -porcBeca : byte

+inscripcion( ) : double

+inscripcion( ) : double

+inscripcion( ) : double

M.S.C. Raúl Mora Reyes


SOLUCIÓN

Como podemos observar, la clase abstracta Alumno, declara el método “inscripción” pero no le podemos dar contenido ya que no tenemos información suficiente para calcular el resultado; por lo que cada clase hija tiene la obligación de implementar la lógica del método de acuerdo a cada caso.

M.S.C. Raúl Mora Reyes


CLASE: Alumno

M.S.C. Raúl Mora Reyes


CLASE: AlumnoLicenciatura

M.S.C. RaĂşl Mora Reyes


CLASE: AlumnoMaestria

M.S.C. RaĂşl Mora Reyes


CLASE: AlumnoDoctorado

M.S.C. RaĂşl Mora Reyes


APLICACIÓN

M.S.C. Raúl Mora Reyes


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.