j'ai un code Java similaire à:Java génériques pour la politique comme alternative à la politique en passant dans le constructeur
public class Thing {
private IPolicy policy;
public Thing(IPolicy policy) {
this.policy = policy;
}
public void doSomething() {
this.policy.execute();
}
}
Ma question est la suivante: est-il possible de le faire avec les médicaments génériques plutôt que de passer la politique du constructeur? Je pense que cela signifie que je veux finir comme
public class Thing<T extends IPolicy>
mais je ne suis pas sur les médicaments génériques. Mes motivations sont: 1) il me semblerait plus logique que mon programme fasse partie du type et ne soit pas impliqué avec le constructeur (qui a d'autres choses à faire) et 2) I ' J'essaie d'apprendre les génériques.
Vous venez du C++? (Les génériques Java ne sont pas des modèles C++.) En Java, vous utilisez généralement le polymorphisme standard [dynamique] de bog pour décrire le comportement et les génériques pour décrire les types paramétrés. Il peut être nécessaire de combiner les deux, alors que C++ peut s'en tirer avec des modèles seuls. –