4.- Polimorfismo

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

description

Utiliza el polimorfismo en una jerarquía de herencia.

Transcript of 4.- Polimorfismo

POLIMORFISMOPROGRAMACIÓN ORIENTADA A OBJETOS

M.S.C. Raúl Mora Reyes4

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

EJERCICIOESCUELA

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:

Alumno

-numControl : String -nombre : String

+inscripcion( ) : double

AlumnoLicenciatura

-carrera : String -semestre : byte

+inscripcion( ) : double

AlumnoMaestria

-modalida : char -creditos : byte

+inscripcion( ) : double

AlumnoDoctorado

-tituloInv : String -porcBeca : byte

+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