Una de las decisiones mas importantes a la hora de realizar un desarrollo es cuando decidir si un método es estático o no (en java o en C#).
Este concepto puede ser confuso para los desarrolladores.
Por convención para establecer nuestro punto de partida en nuestros programas el método main se declara como estático. Tiene lógica por que este es el punto donde nosotros vamos a indicar la secuencia de pasos que tiene que ejecutarse para solucionar nuestro problema.
También usamos los método estáticos para realizar conversión de valores, crear nuevos objetos, …
Uno de los principales errores que se comete a la hora de crear métodos estáticos es cuando se desconoce los fundamentos de POO y abusamos creando todos los métodos como estáticos.
Otro de los principales errores que se cometen en la declaración de elementos estáticos, es introducir métodos en nuestras clases como estáticos cuando en realidad no los son. Como por ejemplo para una validación de un campo interno de nuestra clase.
Por lo tanto a la hora de declarar un método estático debemos seguir las siguientes recomendaciones:
- Si utilizamos en nuestras clases patrones del tipo Singleton o Factory para su construcción.
- Cuando declaramos métodos de conversión de valores.
- Cuando el método que estamos declarando devuelve un valor a través de los argumentos indicados.
Estas son algunas recomendaciones para utilizar mejor los métodos estáticos. Aprovecho para que a través de vuestros comentarios indiquéis alguna otra sugerencia.
Hola buenos dias.
Mi sugerencia es que profundicemos en este tema de métodos y variables estaticas, con ejemplos prácticos donde podamos ver con claridad, cuando se deben usar y cuando no. Incluso también se podría aportar más información acerca de ésta característica de desarrollo, bien mediante enlaces, artículos, etc.
Yo estaría muy agradecido.
Un saludo!!!!!
Antes que nada, perdón por tardar tanto en contestar, Jerónimo.
Nos parece muy buena tu sugerencia y vamos a estudiarla para intentar hacer lo que dices.
¡Muchas gracias y un saludo!