Bonjour, j'essaie une nouvelle approche dans un programme où j'essaie d'y incorporer des interfaces.
Voilà un exemple de code, où je vous expliquerai mon problème par la suite:
public class X
{
public static vois main(String[] args)
{
monX = new X();
X.afficher(new z());
}
private void afficher (y uneMethode)
{
for(int i = 0; i<10l ++i)
{
uneMethode.afficher(i);
}
}
/**
*Un interface contenant une fonction ayant 3 signatures différentes (Pour les paramètres)
*/
public interface y
{
public void fonction(int i);
public void fonction(int i, int j);
public void fonction(int i, int j, int k);
}
public class z implement y
{
//Redéfinition de la première signature
public void fonction(int i)
{
System.out.println(i);
}
//Je n'ai malheureusement pas besoin des 2 autres fonctions ici, une autre classe implémentant la même interface l'utilisera peut-être.
}
}
|
Bon ça peut peut-être semblé difficile à comprendre, mais ce type de code va me sauver beaucoup de temps éventuellement en empêchant de la redondance de code. Mais voici mon problème, mon interface contient plusieurs méthodes, certaines classes en utiliseront qu'une, d'autres p-e 2, qui sait.... Je ne veux pas avoir à redéfinir chaque fois les méthodes que je n'utilise pas pour chaque classe....
Jusqu'à maintenant, le seul moyen que j'ai trouvé pour cela, c'est de mettre le mot clef "abstract" devant la signature de mes classes, mais malheureusement, ceci empêche du même coup l'instanciation de cette même classe, ce dont j'ai besoin de pouvoir faire....
Y existe-t-il un mot clef ou qqc qui n'oblige pas une classe implantant une interface de redéfinir toutes les méthodes de cet interface?