public class InterficieUsuario {
    private Controlador controlador;
}
public class Controlador {
    public static final String NombreAgencia= "AlquileresAAA" ;
    public static final String NIFAgencia ="12345678A" ;
    private InterficieUsuario iu ;
    private Map<Integer,Oficina> oficinas ;
    private List<Vehiculo> vehiculos ;
    private Map<String,Cliente> clientes ;
}
public abstract class Vehiculo {
    private int id ;
    private String modelo ;
    private String matricula ;
    private double precioAlqDia ;
    private boolean alquilado ;
    private Oficina oficina ;
    private Contrato contrato ;
}
public class Coche extends Vehiculo{
    private int caballosVapor ;
    private int numMaxViajeros ;
    private int numPuertas ;
}
public class Motocicleta extends Vehiculo{
    private int cilindrada ;
}
public class Furgoneta extends Vehiculo {
    private double volumen;
}
public class Oficina {
    private int id ;
    private String direccion ;
    private String tfno ;
    private String fax ;
    private List<Vehiculo> vehiculos ;
}
public abstract class Cliente {
    private String nombre ;
    private String nif ;
    private String direccion ;
    private String tfno ;
    private String email ;
    private double cantidadAcumulada ;
    private List<Contrato> contratos ;
}
public class Empresa extends Cliente{
    private String fechaPrimerAlquiler ;
}
public class Persona extends Cliente{
}
public class Contrato {
    private Cliente cliente ;
    private Vehiculo vehiculo ;
    private String id ;
    private String fechaInicio ;
    private String fechaFinal ;
}

