Bonjour,
programmant en java 1.4, je me demandais comment réaliser un pattern "Method Template" qui soit sûr.
Je pense à une méthode « public final » de la classe mère « abstract » qui appelle une méthode « protected abstract » implémentée dans les classes filles.
Le problème est que logiquement seule la méthode « public » doit pouvoir être appelée. Appeler la méthode protected directement n'a pas de sens. Or «protected» permet à toute classe du même package de l'appeler, pas seulement les classes filles...
Comment faire pour que la méthode protected ne puisse pas être appelée directement ?
Quand je regarde la liste des modificateurs [ et les portées où la méthode sera accessible ] :
public : [ Classe, Package, Filles, Monde ]
protected : [ Classe, Package, Filles ]
default : [Classe, Package ]
private : [ Classe ]
Je me dis que c'est dommage qu'il n'y ait pas un modificateur qui soit accessible uniquement aux niveaux [ Classe, Filles ] (du genre « restricted »)...
Quelqu'un sait si c'est prévu au programme des prochaines versions ?
Partager