Méthodes de cachette de superclasse
-
30-10-2019 - |
Question
J'ai lu le Méthodes de remplacement et de cachette Didacticiel. Et à partir de cela, j'ai rassemblé ce qui suit:
Si une sous-classe définit une méthode de classe avec la même signature qu'une méthode de classe dans la superclasse, la méthode de la sous-classe peaux Celui de la superclasse.
En tant que tel, j'ai fait ce qui suit:
import javax.swing.JTextArea;
public final class JWrappedLabel extends JTextArea{
private static final long serialVersionUID = -844167470113830283L;
public JWrappedLabel(final String text){
super(text);
setOpaque(false);
setEditable(false);
setLineWrap(true);
setWrapStyleWord(true);
}
@Override
public void append(final String s){
throw new UnsupportedOperationException();
}
}
Ce que je n'aime pas dans ce design, c'est que append
est toujours un visible Méthode de la sous-classe. Au lieu de jeter le UnsupportedOperationException
, J'aurais pu laisser le corps vide. Mais les deux se sentent moches.
Cela étant dit, y a-t-il une meilleure approche pour cacher les méthodes de la superclasse?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow