Anda di halaman 1dari 6

TALLER 1_1 - INVESTIGANDO EL ENCAPSULAMIENTO

Objetivo del ejercicio: En este ejercicio, va a explorar el propsito de la adecuada encapsulacin de objetos.

Tareas

Versin 1 La informacin no se Oculta

En esta versin de la clase Vehiculo, ud. dejar los atributos pblicos de tal forma que el programa para probarlo PruebaVehiculo tiene acceso directo a estos.

1. Abra el proyecto llamado taller1_1 a travs de la opcin File -> Open Project y ubquese en el paquete version1 que se encuentra en la seccin de proyectos carpeta Source Packages. En este paquete debe existir una clase llamada PruebaVehculo. 2. Cree una clase Vehiculo.java que implemente el diagrama UML mostrado. Para realizar este proceso de click derecho sobre el paquete version1 y seleccione New -> Java Class. En el campo Class Name digite Vehiculo y luego de click en Finish. a) Incluya dos atributos pblicos: carga Actual peso de la carga del vehculo y cargaMaxima Lmite de peso de la carga del vehculo. b) Incluya un constructor pblico que le asigne un valor a la variable cargaMaxima. c) Incluya dos mtodos pblicos: getCarga que retorne el valor del atributo carga y getCargaMaxima que retorne el valor del atributo cargaMaxima.

Se asume que todos los datos estn dados en Kilogramos. 3. Lea el cdigo de PruebaVehiculo. El programa tiene un error al adicionar la ultima caja debido a que no se valida el peso actual contra el peso mximo que puede tener el vehculo. 4. Asegrese que las clases Vehiculo y PruebaVehiculo no tengan errores.

5. Ejecute la clase PruebaVehiculo. Para realizar este proceso de click derecho en la clase PruebaVehiculo y seleccione la opcin Run File o seleccione la clase y presione las shif+f6. La salida generada debe ser :

Creando un vehculo que puede cargar 10,000 kilogramos de peso Aadir caja #1 (500kg) Aadir caja #2 (250kg) Aadir caja #3 (5000kg) Aadir caja #4 (4000kg) Aadir caja #5 (300kg) La carga del vehculo es: 10050.0 kg

Versin 2 Ocultando la informacin

Para resolver el problema de la primera versin, usted ocultar los datos internos (carga y cargaMaxima) y proveer un mtodo adicionarCaja que ejecutar el chequeo apropiado de que el vehculo no est siendo sobrecargado. 1. Ubquese en el paquete version2 que se encuentra en la seccin de proyectos carpeta Source Packages. En este paquete debe existir una clase llamada PruebaVehiculo. 2. Copie el cdigo de su anterior ejercicio (Vehiculo.java) en el paquete version2 y modifique la implementacin de la clase Vehiculo como se muestra en el diagrama UML. a) Haga los atributos carga y cargaMaxima privados. b) Adicione el mtodo adicionarCaja. Este mtodo recibe un argumento, el cual es el peso de la caja en kilogramos. El mtodo debe verificar que al adicionar la caja no se est violando el peso mximo. Si la violacin ocurre, la caja es rechazada retornando el valor false; de otra forma el peso de la caja es adicionado al vehculo y el mtodo retorna true. Sugerencia: Puede usar la sentencia if. Aqu se muestra la forma bsica del condicional: if ( <expresion_booleana> ) { < sentencias >* }else { < sentencias >* } Se asume que todos los datos estn dados en kilogramos. 3. Lea el cdigo de PruebaVehiculo.java. El cdigo no puede modificar el atributo carga directamente, pero ahora usa el mtodo adicionarCaja. Este mtodo retorna un valor true o false, el cual se imprime en la pantalla.

4.

Asegrese que las clases Vehiculo y PruebaVehiculo no tengan errores.

5. Ejecute la clase PruebaVehiculo. Para realizar este proceso de click derecho en la clase PruebaVehiculo y seleccione la opcin Run File o seleccione la clase y presione las shif+f6. La salida generada debera ser: Creando un vehculo con 10,000kg de carga mxima. Adicionando la caja #1 (500kg) : true Adicionando la caja #2 (250kg) : true Adicionando la caja #3 (5000kg) : true Adicionando la caja #4 (4000kg) : true Adicionando la caja #5 (300kg) : false La carga del vehculo es 9750.0 kg

Versin 3 - Cambiando la representacin interna del peso a Newtons.

Ahora suponga que vamos a realizar algunos clculos para determinar el desgaste del motor y la estructura. Estos clculos son fciles si el peso de la carga est dado en Newtons. 1. Ubquese en el paquete version3 que se encuentra en la seccin de proyectos carpeta Source Packages. En este paquete debe existir una clase llamada PruebaVehiculo. 2. Cree la clase Vehiculo que implemente el diagrama UML mostrado. Puede copiar el archivo Vehiculo.java que ud. cre en la versin 2. a) Modifique el constructor y los mtodos getCarga, getCargaMaxima y adicionarCaja para que usen una conversin de kilogramos a newtons. Puede usar los siguientes mtodos privados: private double kiloANew(double peso){ return (peso * 9.8); } private double newAKilo(double peso){ return ( peso / 9.8); } Ahora los datos internos del objeto Vehiculo estn en newtons y los datos externos (pasados entre los mtodos) an estn en kilogramos.

3. 4.

Lea el cdigo de PruebaVehiculo.java. Es idntico a la versin 2. Asegrese que las clases Vehiculo y PruebaVehiculo no tengan errores.

5. Ejecute la clase PruebaVehiculo. Para realizar este proceso de click derecho en la clase PruebaVehiculo y seleccione la opcin Run File o seleccione la clase y presione

las shif+f6. La salida generada debera ser: Creando un vehculo con 10,000kg de carga mxima. Adicionando la caja #1 (500kg) : true Adicionando la caja #2 (250kg) : true Adicionando la caja #3 (5000kg) : true Adicionando la caja #4 (4000kg) : true Adicionando la caja #5 (300kg) : false La carga del vehculo es 9750.0 kg

No deben existir cambios en la salida del programa. Esto demuestra que los cambios internos (privados) en la versin 3 de la clase Vehiculo no cambian el cdigo de la clase cliente PruebaVehiculo.

Anda mungkin juga menyukai