Tienda Virtual
public class Item {
private String nombre;
private double precio;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public double getPrecio() {
return precio;
}
public void setPrecio(double precio) {
this.precio = precio;
}
}
public class Producto extends Item implements CalculaDescuento, Tributable {
private int cantidad;
public int getCantidad() {
return cantidad;
}
public void setCantidad(int cantidad) {
this.cantidad = cantidad;
}
@Override
public double calculaImpuesto() {
return getPrecio() * 0.16 * getCantidad();
}
@Override
public double descuento() {
if (getCantidad() >= 3){
return (getPrecio() * getCantidad()) * 0.10;
}else {
return 0;
}
}
public double totalCompra(){
double total = getPrecio() * getCantidad() + calculaImpuesto();
return total - descuento();
}
}
public interface Tributable {
double calculaImpuesto();
}
public interface CalculaDescuento {
double descuento();
}
public class Calculadora {
private double total = 0;
public void calculaImpuesto(Tributable tributable){
total += tributable.calculaImpuesto();
}
public double getTotal() {
return total;
}
}
public class Main {
public static void main(String[] args) {
Producto producto = new Producto();
producto.setNombre("Portátil HP");
producto.setPrecio(1430);
producto.setCantidad(4);
Calculadora calculadora = new Calculadora();
System.out.println("Nombre del producto: " + producto.getNombre());
System.out.println("Valor del producto por unidad: " + producto.getPrecio());
System.out.println("Cantidad: " + producto.getCantidad());
System.out.println("IVA: " + producto.calculaImpuesto());
System.out.println("Descuento aplicado: " + producto.descuento());
System.out.println("Valor total de la compra: " + producto.totalCompra());
calculadora.calculaImpuesto(producto);
System.out.println("Total IVA: " + calculadora.getTotal());
}
}