Salut, je lis du code dans un projet sur lequel je commence juste à travailler et je vois un code comme celui-ci, que je n'ai pas compris.passer l'interface à une classe qui implémente cette interface
public class A implements Ignite {
protected Ignite ignite;
.......
protected void checkIgnite() {
......
}
@Override
public <K, V> IgniteCache<K, V> createCache(CacheConfiguration<K, V> cacheCfg) {
checkIgnite();
return ignite.createCache(cacheCfg);
}
}
Je ne comprends pas la signification de cette classe. D'abord, cette classe A implémente l'interface Ignite. Alors pourquoi passer l'interface Ignite dans cette classe? Deuxièmement, pour la méthode createCache dans la classe A, elle renvoie ignite.createCache (cacheCfg), alors quelle est exactement l'implémentation de cette méthode?
Merci!
Vous avez lu du code dans vos projets et ne le comprenez pas? Je pense que c'est votre projet? puis recherchez * classes wrapper * resp. * modèle de délégation * qui pourrait ajouter des fonctionnalités supplémentaires à celles existantes. – AKSW
Je n'ai pas écrit cette classe. Je lis ce cours et j'essaie de comprendre ce que cela veut dire. – TryMyBest
On dirait un motif de décorateur. Quelque chose de similaire est fait dans l'API IO de Java. Par exemple: Jetez un oeil à 'java.io.BufferedReader'. – anacron