Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Clases abstractas.
• Interfaces.
◼ Bolsa conservadora:
El tamaño de la lista de candidatos del llamamiento
puede ser hasta el doble que las ofertas.
Ante una renuncia, el candidato pasa al final de la lista
de candidatos.
◼ Bolsa estricta:
Limita el tamaño de la lista de candidatos de un
llamamiento.
Si un candidato renuncia a un llamamiento, es dado de
baja en la bolsa.
this.nombre = nombre;
this.candidatos = new LinkedList<Usuario>();
this.ofertas = new LinkedList<Oferta>();
}
// …
}
Collections.addAll(this.candidatos, candidatos);
}
return this.candidatos.remove(candidato);
}
Collections.addAll(this.ofertas, ofertas);
}
// …
}
Curso 2019/2020 Programación Orientada a Objetos 12
Caso de estudio
En la versión anterior de la clase BolsaEmpleo queda
pendiente la funcionalidad sobre la generación de un
llamamiento y la renuncia de un candidato al llamamiento.
El comportamiento de ambas operaciones es diferente en
los subtipos.
Cuestiones:
◼ ¿Debemos declarar estas operaciones en la clase
BolsaEmpleo?
Sí, son operaciones comunes a toda bolsa de empleo.
// Implementación vacía
}
◼ Problemas:
¿Es correcto crear objetos de la clase BolsaEmpleo con
métodos incompletos?
¿Qué sucedería si un subtipo olvida redefinir el método?
// …
}
bajaCandidato(candidato);
}
}
// Método plantilla
llamamiento.add(this.candidatos.get(i));
llamamientosRestantes--;
}
return llamamiento;
}
return getOfertas().size() * 2;
}
BolsaEstricta:
return maximoLlamamiento;
}
desplazar(incX, incY);
}
void atrapar();
void liberar();
}
void atrapar();
void liberar();
}
void atrapar();
void liberar();
Alarma.dormir(TIEMPO_RETENCION);
liberar();
}
}