2012-05-05 14 views

Respuesta

7

Una variable local de método es una variable local declarada en el alcance de un método.

En consecuencia, una variable sin método local debe ser una variable con un ámbito más amplio, como el alcance de clase.

No puedo decir con seguridad por qué se podría decir que son problemáticos. Tal vez se deba simplemente al hecho de que introducen un estado mutable en los objetos.

+3

Cuanto menor sea el alcance de la variable, menos probable es que la ensucie. – ziggystar

+0

Las variables locales del método son referencialmente transparentes desde fuera del método, lo que significa que no pueden causar problemas en ningún lugar fuera del método. –

+0

Por lo tanto, los valores variables locales no son campos. ¿O hay otros tipos de variables que no son locales de método? –

3

El problema con los vars locales sin método es que introducen estados mutables a una clase/objeto. Esto es algo que debe evitar siempre que sea posible, ya que Scala también es un lenguaje funcional. (En los lenguajes funcionales puros, como las variables Haskell, están prohibidas). Esas variables comienzan a producir aún más problemas cuando comienzas a trabajar en paralelo.

+0

He aceptado la respuesta de aioobe para la definición, pero estoy de acuerdo con la suya por el problema. –

+0

Sí, su definición es buena. –

Cuestiones relacionadas