sábado, 30 de abril de 2011

Solución Exámen Final POO - 27/04/2011

 // Definición de la clase Cliente
 class Cliente{
  int numero;
  String nombre;
  String direccion;
  String telefono;
 }
 
 // Definición de la clase Producto
 class Producto{
  int codigo;
  String descripcion;
  double precio;
 }
 
 // Definición de la clase Ventas
 class Ventas{
  int factura;
  String fecha;
  // Se define el atributo cliente del tipo de la clase Cliente
  Cliente cliente;
  // Se define el atributo producto del tipo de la clase Producto
  Producto producto;
  int cantidad;
  double total;
 }
 
 // Definición de la clase ClienteEspecial. La palabra reservada extends
 // hará que la clase ClienteEspecial herede todos los atributos de la
 // clase Cliente y además se definirá un atributo propio.
 class ClienteEspecial extends Cliente{
  double MontoCredito;
 }
 
 // Definición de la clase Principal donde se tendrá el método main.
 public class ExamenFinal{
  public static void main(String[]args){
   
   // Creación del objeto cliente1 a partir de la clase 
   // ClienteEspecial.  Todos los atributos heredados de la clase
   // Cliente se pueden asignar.
   ClienteEspecial cliente1 = new ClienteEspecial();
   cliente1.numero = 1234;
   cliente1.nombre = "Fulano de Tal";
   cliente1.direccion = "Algún Lugar de Nicaragua";
   cliente1.telefono = "505-22498788";
   cliente1.MontoCredito = 1500;
   
   // Creación del objeto producto1 a partir de la clase Producto
   Producto producto1 = new Producto();
   producto1.codigo = 999;
   producto1.descripcion = "Monitor LCD 21"; 
   producto1.precio = 250;
   
   // Creación del objeto venta1 a partir de la clase Venta
   // se asigna al atributo producto el objeto producto1 y 
   // al atributo cliente el objeto cliente1
   Ventas venta1 = new Ventas();
   venta1.factura = 1;
   venta1.fecha = "27 Abril 2011";
   venta1.cliente = cliente1;
   venta1.producto = producto1;
   venta1.cantidad = 3;
   // para hacer la operación y encontrar el total se debe hacer
   // referencia al objeto interno no directamente al objeto 
   // producto1, esto porque si el producto cambia, no necesitamos
   // referenciar el programa nuevamente
   venta1.total = (venta1.cantidad * venta1.producto.precio);
   
   // La impresión se puede hacer con un método o directamente en
   // el programa principal
   System.out.println("DATOS DE LA FACTURA");
   System.out.println("-------------------");
   System.out.println("Numero de Factura   : " + venta1.factura);
   System.out.println("Fecha               : " + venta1.fecha);
   System.out.println("Nombre del cliente  : " + venta1.cliente.nombre);
   System.out.println("Nombre del producto : " + venta1.producto.descripcion);
   System.out.println("Total de la venta   : " + venta1.total);
   System.out.println("Limite del credito  : " + cliente1.MontoCredito);
  }
   
 }

1 comentario:

  1. Casino City | DrmCD
    Play 김제 출장마사지 casino 여주 출장샵 games at your location in 충주 출장샵 Atlantic City, NJ. Hotel and casino information: map, video replay, email address, gaming 아산 출장샵 info, and Phone: (609) 317-3000 Website: 동두천 출장마사지 www.courierpostonline.com

    ResponderEliminar