♣ CODIGO JAVA
//PAGO
public class Pago {
private dinero cantEntregada;
public Pago (Dinero Cantidad) {cantEntrada = cantidad;}
public Dinero getEntregada () {return cantEntrada;}
}
//PRODUCTO
private dinero cantEntregada;
public Pago (Dinero Cantidad) {cantEntrada = cantidad;}
public Dinero getEntregada () {return cantEntrada;}
}
//PRODUCTO
public class CatalogoProducto {
private Map productos = new HashMap ();
public CatalogoProductos () {
ItemId id1 = new ItemID(100);
ItemId id2 = new ItemID(200);
Dinero precio1 = new Dinero (3);
Dinero precio2 = new Dinero (5);
Producto p;
p:= new Producto (id1, precio1, “producto 1”);
productos.put(id1, p);) }
p = new Producto (id2, precio2, “producto 2”);
productos.put(id2, p);) }
public Producto getProducto (ItemId id) {
return (Producto) productos.get(id); }
}
//TPV
private Map productos = new HashMap ();
public CatalogoProductos () {
ItemId id1 = new ItemID(100);
ItemId id2 = new ItemID(200);
Dinero precio1 = new Dinero (3);
Dinero precio2 = new Dinero (5);
Producto p;
p:= new Producto (id1, precio1, “producto 1”);
productos.put(id1, p);) }
p = new Producto (id2, precio2, “producto 2”);
productos.put(id2, p);) }
public Producto getProducto (ItemId id) {
return (Producto) productos.get(id); }
}
//TPV
public class TPV {
private CatalogoProducto catalogo;
private Venta venta;
public TPV(CatalogoProducto cp) { catalogo = cp; }
public void crearNuevaVenta () {venta = new Venta();}
public void finalizarVenta () { venta.completar(); }
public void introducirItem (ItemId id, int cant) {
Producto p = catalogo.getProducto (id);
Venta.crearLineaVenta(p, cant); }
public void realizarPago() { venta.crearPago(cant)}
}
//PRODUCTO
private CatalogoProducto catalogo;
private Venta venta;
public TPV(CatalogoProducto cp) { catalogo = cp; }
public void crearNuevaVenta () {venta = new Venta();}
public void finalizarVenta () { venta.completar(); }
public void introducirItem (ItemId id, int cant) {
Producto p = catalogo.getProducto (id);
Venta.crearLineaVenta(p, cant); }
public void realizarPago() { venta.crearPago(cant)}
}
//PRODUCTO
public class Producto {
private itemID id;
private Dinero precio;
private String descripcion;
public Producto(ItemID id, Dinero precio, String desc) {
this.id = id;
this.precio = precio;
this.descripcion = desc;}
public ItemId getId() { return id; }
public Dinero getPrecio() { return precio; }
public String getDescripcion() { return descripcion; }
}
//VENTA
public class Venta {
private List lineaVentas = new ArrayList();
private Date fecha = new Date();
private boolean esCompleta;
private Pago pago;
public Dinero getDevolucion() { return pago.getCantEntregada(). minus(getTotal() ); }
public void completar() { esCompleta = true; }
public void crearLineaVenta(Producto p, int cant) {
lineaVentas.add(new LineaVenta(p,cant)); }
public Dinero getTotal() {
Dinero total = new Dinero();
Iterator i = lineaVentas.iterator();
while (i.hasNext()) {
LineaVenta lv = (LineaVenta) i.next();
total.add(lv.getSubtotal()); }
return total;
}
public void crearPago (Dinero cantEntregada) { pago = new Pago(cantEntregada); }
}
//LINEAVENTA
public class LineaVenta {
private int cantidad;
private Producto producto;
public LineaVenta(Producto p, int cant) {
this.producto = p;
this.cantidad = cant; }
public Dinero getSubtotal () { return producto.getPrecio().times(cantidad); }
}
//TIENDA
public class Tienda {
private CatalogoProducto catalogo;
private TPV tpv;
public TPV getTPV {return TPV; }
}
private itemID id;
private Dinero precio;
private String descripcion;
public Producto(ItemID id, Dinero precio, String desc) {
this.id = id;
this.precio = precio;
this.descripcion = desc;}
public ItemId getId() { return id; }
public Dinero getPrecio() { return precio; }
public String getDescripcion() { return descripcion; }
}
//VENTA
public class Venta {
private List lineaVentas = new ArrayList();
private Date fecha = new Date();
private boolean esCompleta;
private Pago pago;
public Dinero getDevolucion() { return pago.getCantEntregada(). minus(getTotal() ); }
public void completar() { esCompleta = true; }
public void crearLineaVenta(Producto p, int cant) {
lineaVentas.add(new LineaVenta(p,cant)); }
public Dinero getTotal() {
Dinero total = new Dinero();
Iterator i = lineaVentas.iterator();
while (i.hasNext()) {
LineaVenta lv = (LineaVenta) i.next();
total.add(lv.getSubtotal()); }
return total;
}
public void crearPago (Dinero cantEntregada) { pago = new Pago(cantEntregada); }
}
//LINEAVENTA
public class LineaVenta {
private int cantidad;
private Producto producto;
public LineaVenta(Producto p, int cant) {
this.producto = p;
this.cantidad = cant; }
public Dinero getSubtotal () { return producto.getPrecio().times(cantidad); }
}
//TIENDA
public class Tienda {
private CatalogoProducto catalogo;
private TPV tpv;
public TPV getTPV {return TPV; }
}
⧭
Comentarios
Publicar un comentario