TALLER TALL ER POO POO en en JAVA J AVA Objetivo: Afianzar los conceptos claves de clase, atributos, servicios y objetos mediante la realización realización de ejercicios prácticos.
Al fi nalizar nal izar la clas c lase e los lo s apren ap rendi di ces estarán est arán en capaci cap acidad dad de: Entender la diferencia clara y substancial entre la clase y el objeto. Construir sistemas orientados a objetos a problemas prob lemas simples. Diseñar y construir programas orientados a objetos para ejercicios planteados.
Lo clave de la metodología orientada a objetos. ➢ ➢ ➢
La clase define todo lo que puede ser, pero es el objeto el que la hace realidad. realidad. Las operaciones que la clase ofrece, se denominan servicios, servicios, métodos, funciones o procedimientos. La firma de los métodos está formada por Nombre - número de parámetros, orden de los parámetros y tipo de retorno.
Para colocar los métodos de las clases normalmente se toman verbos, dado que estos representan las acciones que las clases ofrecen.
ASPECTOS TEÓRICOS A TENER EN CUENTA CUENT A Forma general general de los métodos en las cl ases: ases: n ombre (parámetros): (parámetros): tipo 1. nombre: corresponde a la acción que la clase ofrece. 2. (Parámetros): Se colocan colocan con la la misma estructura estructura de los atributos, separados unos de otros por comas, representan la información que se envía desde fuera de la clase y que es necesaria para su procesamiento. Los atributos se consideran variables locales cuyo ámbito es solo el servicio en cuestión. 3. Tipo: Corresponde a (int, double, String String , Cualquier Cualquier clase del modelo...) o void. void significa que el servicio no retorna nada después de su llamado.
En el lenguaje Java, los métodos (servicios) se expresan así: tipoDato nombreMetodo (tipo param1, tipo param2, tipo param3...){ return tipoDato; } La palabra return solo aplica para funciones nunca para los procedimientos. Un método puede, o no tener parámetros, cuando no tiene se le coloca () ➢ ➢ ➢ ➢
De una clase pueden ser ser generados n objetos. No puedo usar un objeto si este no ha sido instanciado ClaseOrigen variableInstacia = new Constructor(); Mediante variableInstacia puedo acceder a los atributos y métodos que la clase ofrece, cada objeto es un mundo independiente del otro que maneja mediante su estado y su identidad el control de los datos.
Para dar solución a un planteamiento, mediante las técnicas orientadas a objetos, es muy prud ente: 1. Entender claramente el problema y los por menores del mismo indagando por lo que se desconoce y recurriendo a la fuente de datos más clara. 2. Crear un diseño de las clases que conformarán la solución y los elementos que estas contemplarán. 3. Realizar una revisión de lo propuesto con alguien de mayor experiencia o con alguien que igual pueda dar su opinión. 4. Aplicar los ajustes al diseño planteado. 5. Codificar en el lenguaje seleccionado la solución propuesta, comenzando por lo más importante. 6. Probar y hacer ajustes según sean necesarios. Teniendo presente los conceptos de clase, atributo, método, objeto, instancia y constructor. Crear soluciones orientadas a objetos para los siguientes planteamientos.
I.
EJERCICIOS
1. Un turista se registra en un hotel ubicado en una dirección, ciudad y barrio. Todos los hoteles tienen al menos un número de teléfono. Las habitaciones del hotel son de distintos tipos: simples, dobles y suite. Es importante registrar las características que tiene cada habitación, identificadas por un número; tales como baño privado, teléfono y calefacción. El administrador solicita al huésped su nombre, dirección, profesión y estado civil. El huésped puede solicitar que lo despierten en un horario determinado. Al día siguiente, en la confitería puede desayunar café con leche, te acompañado de pan, y beber lo que desee (gaseosa, agua mineral con o sin gas). Un turista puede reservar telefónicamente una habitación desde una fecha hasta otra determinada. 2. Construir un sistema O.O que represente a un sistema de seguridad en el cual se pueda ingresar nombre de usuario y contraseña, debe existir un método para validar si la contraseña ingresada es correcta y un método para cambiar la contraseña actual por otra nueva, el sistema deja cambiar la contraseña siempre y cuando esta no haya sido usada recientemente, dado que el sistema almacena las últimas cuatro usadas. 3. Un instituto dedicado a orientar cursos de inglés, francés y portugués, desea mantener la información relacionada con: alumnos inscriptos en cada curso y la forma y plan de pago elegido por cada uno. De los cursos es importante conocer información respecto al nombre del curso, contenido, duración, nivel, fecha de inicio, fecha de fin, matrícula y precio. También la institución necesita la cédula, apellido y nombre de cada alumno, dirección, teléfono, ocupación. Las formas de pago propuestas por la institución son tarjeta de crédito, efectivo o cheque con fecha no mayor a 30 días y los planes de p ago son: 1, 2 o 3 cuotas para cualquiera de los cursos. 4. En una clase accesoria que contenga un método “main” llene un ArrayList con Números (Enteros, Naturales, etc. ) desde el teclado, usando una clase que realice las siguientes operaciones:
➢ ➢ ➢ ➢ ➢ ➢
Permita llenar el número de elementos que el usuario desee Imprima los elementos cargados en la colección usando un ciclo for. Imprima los elementos cargados en la colección usando un iterador. Cargue el Número contenido en la posición 14 de la colección. Imprima el elemento 14 de la lista. Itere la lista imprimiendo sólo los números complejos.
5. La empresa ABC se dedica al alquiler de vehículos sin conductor. Normalmente, la empresa compra los vehículos al comienzo de temporada y los vende al finalizar ésta. El conjunto de vehículos que en un momento dado posee la compañía para el desarrollo de su actividad se denomina flota. Cuando se compra un vehículo a un concesionario, antes de incluirse en la flota se debe de clasificar según el tipo de uso al que esté destinado (auto, furgoneta, van). Cada tipo de vehículo posee características particulares: en el caso de la van interesa la cantidad de pasajeros, para la furgoneta capacidad de carga y para los autos número de puertas. Para todos interesa conocer las características del motor (volumen, tipo de combustible, cantidad de cilindros). Cada vehículo, antes de ser alquilado, debe pasar por una revisión para comprobar que está en perfecto estado, manteniendo un registro de cual empleado efectuó la revisión y en qué fecha. Esta información es utilizada para conocer periódicamente la cantidad de revisiones que efectuó cada empleado. Los clientes con los que trata la compañía pueden dividirse en 2 categorías, clientes directos que son personas particulares que acuden a alquilar un vehículo o agencias que se encargan de alquilar vehículos para sus clientes. Un cliente particular se identifica con una cédula, nombre y apellido, domicilio, teléfonos. Una agencia se identifica con un NIT y, posee denominación, domicilio, teléfonos. La solicitud de alquiler de un vehículo se materializa en un contrato donde figuran las condiciones de uso y los datos relativos a dicho acto (fecha y lugar de entrega del vehículo al cliente, datos personales del cliente). Cuando todos los datos del contrato están formalizados, se calcula el valor de la f ianza (fianza es la cantidad que se anticipa a cuenta en concepto de garantía) en función del tipo de vehículo. Cuando se devuelve el vehículo, se realiza la liquidación definitiva y el cliente cancela el saldo, así como se asienta la fecha y el lugar de devolución. Antes de alquilar un vehículo hay que tener en cuenta las reservas pendientes por si se produjera alguna petición de un mismo vehículo. 6. Se requiere diseñar e implementar un sistema para una escuela de futbol el cual permita llevar el control de inscripciones de estudiantes y participaciones en torneos de cada uno de los equipos que ésta puede tener. Se sabe que cada equipo tiene un entrenador, un masajista y un máximo de 26 futbolistas. De cada uno de ellos se necesita conocer sus datos personales y de contacto y específicamente, del entrenador la especialidad y el tiempo que lleva en la escuela; del masajista el título y los años de experiencia; y d el futbolista el dorsal y la posición en la que juega. Los torneos están formados por varios partidos y cada partido por dos equipos y un marcador. El sistema debe permitir el registro de nuevos estudiantes, entrenadores y masajistas, poder asignarlos a un equipo de la escuela, registrar los datos de nuevos torneos y los resultados de los partidos en los que participen los equipos de la escuela
7. Una compañía dedicada a la explotación minera, necesita administrar las órdenes de trabajo (OT) para el mantenimiento de los distintos equipos o maquinarias que trabajan en la línea de producción. Dichas órdenes se clasifican en OT Correctivas y Preventivas. Las primeras se crean cada vez que se produce un desperfecto y se realiza una reparación, registrando en ella el equipo sobre el que se realizó la reparación y las piezas reemplazadas (sí fue necesario). Las OT preventivas se crean para registrar las tareas programadas, y tienen asociadas a ellas, además del equipo sobre el que se realizarán dichas tareas, un programa en el que se indica la planificación de esas tareas. De cada OT se debe guardar el número de orden, una descripción, la fecha en que es añadida, la fecha de planificación y la fecha de cierre (fecha efectiva de realización de la OT), que puede o no coincidir con la fecha de planificación. 8. En una finca ganadera: Cada animal que es comprado, es llevado al campo para ser marcado con las insignias de la finca, para poder luego hacer fácil su identificación. El control que se trata de llevar es un control del día en que llegaron y se fueron los animales, a quién compraron y vendieron los animales, precio de compras y ventas (el precio del animal está dado por pesos ($) por kilogramos), su peso al llegar y su peso al irse. Los novillos llegan al establecimiento con un peso aproximado a los ciento cuarenta kilogramos, una vez marcados se dejan en un lote para comenzar el proceso de cría. Estarán durante ocho meses rotando en lotes con pastos regulares, luego, cuando ya tienen un peso aproximado de doscientos cuarenta kilos es cuando se cambian a lotes de mejores pasturas y se le comienza a dar una pequeña ración (dos kilos por animal diarios) que generalmente es de maíz molido, como para que vayan asimilando su nuevo alimento, esto dura unos cinco meses, una vez alcanzado los trescientos treinta kilogramos se aumenta la ración (5 Kg. por día) dada para comenzar así el proceso de terminación que dura otros cinco meses, para así luego ser vendido. Durante todo este proceso al animal se lo ha desparasitado (en caso de ser necesario), vacunado contra la aftosa (cada 6 meses) y aplicado toda clase de tratamientos necesarios para el animal. 9. El colegio “pequeños gigantes” desea calcular el monto a pagar por inscripción del nuevo año escolar, para las familias con hijos en el colegio. Para ello se conoce el número de hijos que tiene la familia en el colegio, el monto de matrícula por niño, el monto de la mensualidad del mes de septiembre por niño y el monto de la sociedad de padres. Elabore un algoritmo que calcule el total a pagar por la familia, si la sociedad de padres se cobra una vez por familiar y si se otorga un descuento por la cantidad de hijos en el colegio que viene dado por la siguiente tabla. Cantidad de hijos 2 niños 3 niños > 3 niños
Descuento 10% 25% 30%
10. El Banco para el Pueblo está próximo a abrir sus puertas, por esta razón necesita con suma urgencia la elaboración y mantenimiento de un programa que le permita mantener los saldos y movimientos de las cuentas que manejará el banco. El banco conoce para cada cuenta a abrir, el número de cuenta, la cédula d el cliente, el nombre del cliente, el tipo de cuenta (1- Ahorro, 2- Corriente, 3 – Fal (Fondo de Activos Líquidos) y 4 – Préstamo) y por último, el saldo en cuenta.
Se desea elaborar un programa en Java, el cual permita leer los datos del cliente, calcular el interés y mostrar la siguiente información: Para cada cliente: ➢ Cedula, nombre y tipo de cuenta ➢ Monto a pagar de interés, dado por la siguiente tabla ✓ Para cuentas tipo 1 (ahorro) el 15% ✓ Para cuentas tipo 2 (corriente) el 10% ✓ Para cuentas tipo 3 (fal) el 8% ✓ Para cuentas tipo 4 (prestamos) 2% ➢ Saldo actual ➢ Saldo nuevo con los intereses Para el banco: ➢ Cliente con mayor saldo nuevo ➢ Cliente con menor saldo nuevo ➢ Total clientes por cada tipo de cuenta ➢ Total monto interés pagado ➢ Total saldos nuevos en el banco
PRESENTACION Deben realizar t odos los ejercici os del taller. Fecha máxima de pr esentación: 10 de abril de 2018 Lugar: CSF – piso 7 Hora: 6:30 am La presentación y sustentación del trabajo es INDIVIDUAL. Se tomarán 2 evidencias con un porcentaje de cada uno del 50%.
De desempeño: Se pedirá modificar un criterio a cualquiera de los problemas y se observará el funcionamiento si cumple o no. De product o: Los casos implementados que deben tener estándares mínimos de codificación y deben funcionar acorde al problema que se plantea. Presentar análisis documentado de cada caso (Diagrama de clases, Casos de Uso, etc)