Ir al contenido principal

II Semestre: JAVA - Polimorfismo

INTRODUCCION

En Programación orientada a objetos programación orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una Clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.
Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclases. Una forma de conseguir objetos polimórficos es mediante el uso de punteros a la superclase. De esta forma podemos tener dentro de una misma estructura (arrays, listas, pilas, colas, ...) objetos de distintas subclases, haciendo que el tipo base de dichas estructuras sea un puntero a la superclase

DEMOSTRANDO EL COMPORTAMIENTO POLIMÓRFICO:

Para demostrar cómo podemos obtener polimorfismo de manera sencilla, tendríamos que basarnos en lo revisado acerca de la Herencia de Clases. Por ejemplo, veamos el siguiente iagrama de Generalización (Herencia)



Descripción del Problema:

Una empresa paga a sus empleados sobre una base semanal. Los empleados son de cuatro tipos: "Salaried employees" se les paga un salario semanal fijo, independientemente del número de horas trabajadas , "hourly employees " se les paga por horas y recibir pago de horas extras por las horas trabajadas en exceso de 40 horas, "commission employees" se les paga un porcentaje de sus ventas y "salaried-commission" reciben un salario base más un porcentaje de sus ventas. Para el período de pago actual, la compañía ha decidido recompensar a los empleados asalariados de la Comisión mediante la adición de 10% de su sueldo básico. La empresa quiere implementar una aplicación Java que realiza sus cálculos de nómina polimórficamente.

Implementación de acuerdo al diagrama:

Primero definimos la clase abstracta Employee:




















Luego, definimos las subclases:

SalariedEmployee:
















 HourlyEmploye:


 














CommissionEmployee:
















BasePlusCommissionEmployee extendes CommissionEmployee


PROGRAMA PRINCIPAL:







Comentarios

Entradas populares de este blog

Uso de Parámetros con el control SqlDataSource - Primera entrega

Una de las principales ventajas del control SqlDataSource , radica en la posibilidad de trabajar con parámetros, con este control es posible trabajar con cualquiera de los siguientes parámetros: Parameter ControlParameter CookieParameter FormParameter ProfileParameter QueryStringParameter SessionParameter A su vez, el control SqlDataSource incluye 5 colecciones de parámetros de ASP.NET: SelectParameters , InsertParameters , DeleteParameters , UpDateParameters y FilterParameters . Puede usar estas colecciones de parámetros para asociar un parámetro en particular de ASP.NET con algún comando o filtro en particular del control SqlDataSource. En este post haré mención a parámetros gestionados mediante Parameter y ControlParameter . En publicaciones posteriores me encargaré del resto de parámetros. Trabajaré para la explicación con la base de datos Pubs de SQL Server , si no la tiene debe instalarla, puede hacerlo siguiendo este link: http://www.microsoft.com/downloads/en/details

Estructuras de Control - Parte 2

Estructuras de Control Repetitivas Las computadoras están especialmente diseñadas para ejecutar tareas repetidamente. Las estructuras de control repetitivas son aquellas en las que una sentencia o grupos de sentencias se repiten muchas veces. Una estructura de control que permite la repetición de una serie determinada de sentencias se denomina bucle (lazo o ciclo). El cuerpo del bucle c ontiene las sentencias que se repiten. La acción o acciones que se repiten en un bucle se denomina el cuerpo del bucle, y cada repetición del cuerpo del bucle se denomina iteración. Sentencia Mientras..hacer (while) La estructura repetitiva mientras es aquella en la que el número de iteraciones no se conoce por anticipado y el cuerpo del bucle se repite mientras se cumple una determinada condición. Por esta razón a estos bucles se les denomina bucles co ndicionales. La sintaxis es la siguiente: Cuando la sentencia mientras se ejecuta, el primer p aso es la evaluación de la expresión lóg

Microsoft Access - Entrega 02

Establecer Índices y Claves primarias: Los índices permiten especificar un orden para la búsqueda de registros, su principal tarea es esta, básicamente cualquier campo de una Tabla puede ser un índice, incluso un conjunto de campos pueden ser índices, (los que suelen denominarse INDICES COMPUESTOS). Para definir un índice en un campo de una tabla basta con especificar la propiedad correspondiente, o también utilizar el botón Índice, tal como se muestra en la Imagen:      Por ejemplo, digamos que nos piden crear un índice compuesto denominado FullName que abarca los campos Apellidos y Nombres. Para realizar esa tarea haga click en el botón Índices y luego configure de acuerdo a la imagen:       Clave Principal: La clave primaria permite identificar de manera única a un registro, por teoría de diseño de base de datos, cada Tabla debe tener su correspondiente clave primaria para facilitar tareas de búsqueda y actualización de registros. Para definir una clave primaria en una tabl