extends Vector : Empcher l'appel a des méthodes "méres"
Bonjour,
J'ai créé une classe qui hérite de la classe Vector dans laquelle j'ai redéfinit les méthodes add() et remove().
Voilà son code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
public class VectorCouchesSupplementaires extends Vector<Layer>{
/**
*
*/
private static final long serialVersionUID = 4526120306651519039L;
public VectorCouchesSupplementaires(){
}
public boolean remove(Layer layer){
super.remove(layer);
//Mise à jour du tableau des couches supplémentaires
JTablePerso.updateTableaux();
//Mise à jour de la table couches supplémentaires
Execution.UpdateVisibiliteCouche(false,layer.getName().trim(),LayerName.siret,LayerName.mlsm);
return true;
}
public boolean add(Layer layer){
super.add(layer);
//Mise à jour du tableu des couches supplémentaires
JTablePerso.updateTableaux();
//Mise à jour de la table couches supplémentaires
Execution.UpdateVisibiliteCouche(true,layer.getName().trim(),LayerName.siret,LayerName.mlsm);
return true;
}
} |
Ma question est assez simple, comment empêcher que dans une classe autre, il soit possible d'appeler la méthode monVecteurPerso.remove(parametre) avec un paramètre qui ne soit pas du type Layer? Cette interdiction fonctionne très bien avec la méthode add(), mais pour remove(), si le paramètre n'est pas de type Layer, c'est la méthode remove() de la classe Vector qui est appelée...
Merci beaucoup.