1713
« en: 18 de Julio 2014, 10:05 »
Hola, viendo los cambios:
Reorganización del código y las clases: bien.
Nombres de las clases: intenta mejorarlos, por ejemplo NumeroValido no dice tanto sobre lo que hace la clase como ValidadorNumero (indica que la clase valida) o ComprobadorNumero (indica que la clase comprueba).
Sobre la pregunta: ¿La existencia de este método desvirtúa la 'concreción' de la clase?
Este método no mantiene cohesión: está haciendo al mismo tiempo el trabajo de un método set y otro proceso. Un método no debe mezclar cosas. Creo que donde estás fallando es en pensar que una clase siempre tiene que tener atributos y trabajar en base a sus atributos. En esta clase, que podríamos llamar ValidadorNumero, no tienes por qué usar atributos. La tarea de la clase va a ser recibir un número (desde fuera), realizar ciertas operaciones con ese número y devolver un resultado. Por tanto te basta con recibir la información desde fuera, no necesitas atributos. No todas las clases han de tener atributos. Aunque normalmente una clase tiene atributos y métodos, algunas clases son para operar con información que reciben desde fuera y pueden carecer de atributos. Es más lógico eliminar el atributo, eliminar los constructores, eliminar los getters y setters y dejar únicamente el método devuelve (que tampoco es un buen nombre, sería mejor comprobarNumero por ejemplo. El método devuelve trabajaría recibiendo un parámetro y con ese parámetro trabaja, no tiene por qué trabajar con un atributo de la clase.
Saludos!