public class SalonBellezaV2 { public static void main(String[] args) { Cliente horacio = new Cliente("Horacio","1312","Calle 1"); Cliente platz = new ClientePlata("Platz","1512","Calle 2","pedicure"); Cliente mario = new ClienteOro("Mario","1912","Calle 3","pedicure,manicure,lavado","descuentos"); Cliente juan = new ClientePremium("Juan","1512","Calle 4","pedicure,manicure,lavado,limpieza","descuentos",1000); Producto [] productos = {new Producto("Shampo", 5.f), new Producto("Gel", 3.f), new Producto("Crema para la cara", 8.f)}; Servicio [] servicios = {new Servicio("Corte",10.f), new Servicio("Lavado",8.f), new Servicio("Pedicure",8.f)}; } } interface DetalleProducto{ String getDescripcion(); float getPrecio(); boolean isServicio(); } class Producto implements DetalleProducto{ String descripcion; float precio; public Producto(String descripcion, float precio) { this.descripcion = descripcion; this.precio = precio; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public void setPrecio(float precio) { this.precio = precio; } @Override public String getDescripcion() { // TODO Auto-generated method stub return descripcion; } @Override public float getPrecio() { // TODO Auto-generated method stub return precio; } @Override public boolean isServicio() { return false; } } class Servicio implements DetalleProducto{ String descripcion; float precio; public Servicio(String descripcion, float precio) { this.descripcion = descripcion; this.precio = precio; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public void setPrecio(float precio) { this.precio = precio; } @Override public String getDescripcion() { // TODO Auto-generated method stub return descripcion; } @Override public float getPrecio() { // TODO Auto-generated method stub return precio; } @Override public boolean isServicio() { return true; } } class Cliente { private String nombre; private String ruc; private String direccion; public Cliente(String nombre, String ruc, String direccion) { this.nombre = nombre; this.ruc = ruc; this.direccion = direccion; } public void setNombre(String nombre) { this.nombre = nombre; } public String getNombre() { return nombre; } public String getDireccion() { return direccion; } public String getRuc() { return ruc; } public void setDireccion(String direccion) { this.direccion = direccion; } public void setRuc(String ruc) { this.ruc = ruc; } } class ClientePlata extends Cliente{ private String servicios; public ClientePlata(String nombre, String ruc, String direccion, String servicios) { super(nombre, ruc, direccion); this.servicios = servicios; } public String getServicios() { return servicios; } public void setServicios(String servicios) { this.servicios = servicios; } } class ClienteOro extends ClientePlata{ private String beneficios; public ClienteOro(String nombre, String ruc, String direccion, String servicios, String beneficios){ super(nombre, ruc, direccion,servicios); this.beneficios = beneficios; } public String getBeneficios() { return beneficios; } public void setBeneficios(String beneficios) { this.beneficios = beneficios; } } class ClientePremium extends ClienteOro{ private int puntos; public ClientePremium(String nombre, String ruc, String direccion, String servicios, String beneficios, int puntos){ super(nombre, ruc, direccion,servicios,beneficios); this.puntos = puntos; } public int getPuntos() { return puntos; } public void setPuntos(int puntos) { this.puntos = puntos; } }