J'ai une classe, appelons-la LineGraph, traçant un graphique linéaire. J'ai besoin de sous-classe, mais la classe dérivée n'est utilisé que dans un seul endroit et est couplé à la classe qui l'utilise. Donc je suis en utilisant un intérieur de classe.
Je vois deux façons de le faire:
Anonyme intérieur de la classe
public class Gui {
LineGraph graph = new LineGraph() {
// extra functionality here.
};
}
Nommé interne de la classe
public class Gui {
MyLineGraph graph = new MyLineGraph();
private class MyLineGraph extends LineGraph {
// extra functionality here.
}
}
Je ne suis pas un fan de anonyme intérieur des classes, parce que franchement je pense juste qu'il a l'air vraiment laid. Mais dans le cas d'une sous-classe qui n'est utilisé que dans un seul endroit, est nommée intérieur de la classe overkill? Qu'est-ce que la pratique acceptée?