Sie sind auf Seite 1von 6

Programacin Orientada a Objetos Clases y Objetos Ejemplo 1: El Cine Center de Cochabamba debido a la gran demanda de compra de boletos de entrada

para las diferentes pelculas que ofrece sta, ha decidido implementar un plan de ventas, que consiste en ubicar maquinas proveedoras de boletos en puntos estratgicos de la ciudad, estas mquinas tendrn conocimiento del precio que costara un boleto, adems debern recibir un monto de dinero del usuario que desea comprar el boleto, debern controlar dos aspectos fundamentales: si el monto de dinero sobrepasa el monto del precio del boleto, entonces se devolver el cambio correspondiente; en caso de que se ingrese un monto de dinero menor al monto del precio, se deber mostrar un mensaje de negacin. Implementar con el paradigma orientado a objetos el respectivo modelo que satisfaga el problema propuesto y ejecutarlo en lnea de comandos.

Cdigo: Clase Maquina Proveedora /** * MaquinaProveedora modela una maquina proveedora de boletos * de ingreso al cine. * El precio de un boleto es especificado por medio del constructor. * Los respectivos objetos creados de esta clase verificaran que * el usuario ingrese dinero suficiente para la compra de un boleto. */ public class MaquinaProveedora { // El precio de un boleto en la maquina. private int precio; // La cantidad de dinero que posee el usuario en la maquina. private int saldo; // La cantidad total de dinero que almacena la maquina. private int total; /**

* Crea una maquina que emite boletos del precio dado. */ public MaquinaProveedora(int costoBoleto) { precio = costoBoleto; saldo = 0; total = 0; } /** * @Retorna el precio del boleto. */ public int obtenerPrecio() { return precio; } /** * Retorna la cantida de dinero ya insertado * para el boleto. */ public int obtenerSaldo() { return saldo; } /** * Recibe una cantidad de dinero en bs de un usuario. * Verifica que la cantidad de dinero sea apropiada. */ public void insertarDinero(int cantidad) { if(cantidad > 0) { saldo = saldo + cantidad; } else { System.out.println("Use una cantidad positiva: " + cantidad); } } /** * Imprime un boleto si se ha insertado dinero suficiente, y * reduce el saldo actual mediante el precio del boleto. Imprime * un mensaje de error en caso de que mas dinero sea requerido. */ public void imprimirBoleto()

{ if(saldo >= precio) { // Simula la impresion de un boleto. System.out.println("####################################"); System.out.println("# The BlueJ Line"); System.out.println("# Boleto de ingreso al Cine Center"); System.out.println("# " + precio + " bs."); System.out.println("####################################"); System.out.println(); // Actualiza el total acumulado con el precio. total = total + precio; // Reduce el saldo por el precio. saldo = saldo - precio; } else { System.out.println("Usted debe ingresar al menos: " +(precio - saldo) + " bs mas."); } } /** * Retorna el dinero en el saldo (el cambio si es que se hubiese ingresado * mas dinero con respecto al precio). * El saldo es puesto a cero. */ public int devolverCambio() { int cantidadADevolver; cantidadADevolver = saldo; saldo = 0; return cantidadADevolver; } } Clase Principal import java.util.Scanner; /** * Write a description of class Principal here. * * @author (your name) * @version (a version number or a date) */ public class Principal { public static void main(String args[])

{ Scanner lector=new Scanner(System.in); MaquinaProveedora maquina=new MaquinaProveedora(35); int opcion;boolean terminado=false; do { System.out.println("**********Bienvenido al boletero Cine Center**********"); System.out.println("1.-Consultar precio del boleto"); System.out.println("2.-Insertar dinero"); System.out.println("3.-Imprimir boleto"); System.out.println("4.-Devolver cambio"); System.out.println("5.-Salir"); System.out.println("******************************************************"); System.out.println("Ingrese su opcion:"); opcion=lector.nextInt(); switch(opcion) { case 1: System.out.println("El precio del boleto es: " + maquina.obtenerPrecio() + " bs"); break; case 2: System.out.println("Ingrese el monto de dinero en bs por la abertura a su derecha:"); int montoDinero=lector.nextInt(); maquina.insertarDinero(montoDinero); break; case 3: maquina.imprimirBoleto(); break; case 4: System.out.println("Su cambio es: " + maquina.devolverCambio() + " bs, recibalo por la abertura a su izquierda"); break; case 5: terminado=true; break; } System.out.println(); } while(!terminado); System.out.println("Cine Center agradece su preferencia!"); } }

Composicin de objetos Ejemplo 2: Adicionalmente se ha decidido registrar los datos del cliente en el boleto que proveern las mquinas, entre los datos que se mostraran en el boleto estar el nombre y el carnet de identidad; considere la implementacin del anterior ejercicio y adecue este nuevo requerimiento a dicha implementacin.

Herencia Ejemplo 3: Debido a la gran cantidad de clientes que compran boletos en las mquinas, se ha incurrido en la necesidad de la generacin de reportes econmicos para la gerencia, para esto se ha designado a una persona encargada que tendr el papel de verificar los montos econmicos ingresados en la maquina, adems de la informacin de usuarios; el encargado proveer datos de ingreso a la maquina como ser el nombre y la contrasea para realizar esta actividad, y tambin se esta sacando al mercado una nueva promocin para los nios que consiste en emitir un boleto gratis a todos aquellos nios cuya fecha de nacimiento coincide con la fecha actual, en base a la implementacin del ejercicio anterior, adaptar estos nuevos requerimientos. Polimorfismo Ejemplo 4: La gerencia del Cine Center ha encargado al departamento de sistemas agregar una nueva funcionalidad a la maquina, la cual consiste por medio del encargado en la generacin de reportes econmicos, reportes de los usuarios que hubiesen adquirido algn boleto en la maquina, en base a la implementacin del ejercicio anterior, adaptar este nuevo requerimiento y guardar la informacin generada de los usuarios en archivos de texto.

Das könnte Ihnen auch gefallen