visual ventaja variable utilizar una son qué que publica programación programacion orientada objetos locales las globales funciones estaticas entre ejemplos ejemplo diferencia desventajas cuál variables

variables - ventaja - ¿Cuál es la diferencia entre una variable miembro y una variable local?



variables locales ejemplos (7)

Hay dos tipos de variable miembro: instancia y estática.

Una variable de instancia dura tanto como la instancia de la clase. Habrá una copia de ella por instancia.

Una variable estática dura tanto como la clase. Hay una copia para toda la clase.

Una variable local se declara en un método y solo dura hasta que el método devuelve:

public class Example { private int _instanceVariable = 1; private static int _staticvariable = 2; public void Method() { int localVariable = 3; } } // Somewhere else Example e = new Example(); // e._instanceVariable will be 1 // e._staticVariable will be 2 // localVariable does not exist e.Method(); // While executing, localVariable exists // Afterwards, it''s gone

¿Cuál es la diferencia entre una variable miembro y una variable local?

¿Son lo mismo?


Una variable local es la variable que declara en una función.

Una variable miembro es la variable que declara en una definición de clase.


Una variable local es la variable que declara en una función. Su vida útil es solo en esa función.

Una variable miembro es la variable que declara en una definición de clase. Su vida útil está solo dentro de esa clase. Es una Variable global. Se puede acceder mediante cualquier función dentro de esa misma clase.


Una variable miembro es un miembro de un tipo y pertenece al estado de ese tipo. Una variable local no es un miembro de un tipo y representa el almacenamiento local en lugar del estado de una instancia de un tipo dado.

Sin embargo, todo esto es muy abstracto. Aquí hay un ejemplo de C #:

class Program { static void Main() { // This is a local variable. Its lifespan // is determined by lexical scope. Foo foo; } } class Foo { // This is a member variable - a new instance // of this variable will be created for each // new instance of Foo. The lifespan of this // variable is equal to the lifespan of "this" // instance of Foo. int bar; }


Una variable miembro pertenece a un objeto ... algo que tiene estado. Una variable local solo pertenece a la tabla de símbolos de cualquier ámbito en el que se encuentre. Sin embargo, se representarán en la memoria de manera muy similar a como la computadora no tiene noción de una clase ... solo ve bits que representan instrucciones. Las variables locales y las variables miembro pueden estar en la pila o en el montón.


public class Foo { private int _FooInt; // I am a member variable public void Bar() { int barInt; // I am a local variable //Bar() can see barInt and _FooInt } public void Baz() { //Baz() can only see _FooInt } }


  • Las variables declaradas dentro de un método son "variables locales"
  • Las variables declaradas dentro de la clase que no están dentro de ningún método son "variables miembro" (variables globales).
  • Las variables declaradas dentro de la clase que no están dentro de ningún método y definidas como estáticas son "variables de clase".