Tengo una clase, llamémosla LineGraph, que representa un gráfico de líneas. Necesito subclasificarlo, pero la clase derivada solo se usa en un lugar y se acopla a la clase que lo usa. Entonces estoy usando una clase interna.Clases internas anónimas vs nombradas? - ¿mejores prácticas?
Veo dos maneras de hacer esto:
Anónimo clase interna
public class Gui {
LineGraph graph = new LineGraph() {
// extra functionality here.
};
}
Named clase interna
public class Gui {
MyLineGraph graph = new MyLineGraph();
private class MyLineGraph extends LineGraph {
// extra functionality here.
}
}
No soy un fan de las clases internas anónimas, porque, francamente, creo que se ve muy feo. Pero en el caso de una subclase que solo se usa en un solo lugar, ¿existe un nombre excesivo de clase interna? ¿Cuál es la práctica aceptada?
Lambda's anyone :) – Matt