En la programación orientada a objetos , una variable miembro (a veces llamada campo miembro ) es una variable que está asociada con un objeto específico y accesible para todos sus métodos ( funciones miembro ).
En los lenguajes de programación basados en clases , estos se distinguen en dos tipos: variables de clase (también llamadas variables miembro estáticas ), donde solo se comparte una copia de la variable con todas las instancias de la clase ; y variables de instancia , donde cada instancia de la clase tiene su propia copia independiente de la variable. [1]
Ejemplos de
C ++
class Foo { int bar ; // Variable miembro public : void setBar ( const int newBar ) { bar = newBar ; } };int main () { Foo rect ; // Variable local return 0 ; }
Java
Programa de clase pública { public static void main ( String [] args ) { // Esta es una variable local. Su vida útil // está determinada por el alcance léxico. Foo foo ; } } public class Foo { / * Esta es una variable miembro - se creará una nueva instancia de esta variable para cada nueva instancia de Foo. La vida útil de esta variable es igual a la vida útil de "esta" instancia de Foo * / int bar ; }
Pitón
clase Foo : def __init__ ( self ): self . _bar = 0 @property def bar ( self ): devuelve self . _bar @bar . setter def bar ( self , new_bar ): self . _bar = new_barf = Foo () f . bar = 100 impresión ( f . bar )
Rubí
/ * Ruby tiene tres tipos de variables miembro: clase, instancia de clase e instancia. * / perro de clase # La variable de clase se define dentro del cuerpo de la clase con dos signos de arroba # y describe datos sobre todos los perros * y * sus razas de perros derivadas (si las hay) @@ olfatea = verdaderofinalmutt = Perro . nuevo chucho . clase . olfatea # => ciertoclase Poodle < Perro # La "variable de instancia de clase" se define dentro del cuerpo de la clase con un solo signo # y describe datos sobre solo la clase Poodle. No hace ninguna afirmación sobre su clase padre # o cualquier posible subclase derivada de Poodle @sheds = false # Cuando se crea una nueva instancia de Poodle, por defecto no está capacitada. La variable 'entrenada' # es local al método de inicialización y se usa para establecer la variable de instancia @trained # Una variable de instancia se define dentro de un método de instancia y es miembro de la instancia de Poodle def initialize ( entrenado = falso ) @trained = final entrenado def has_manners? @ final entrenadofinalp = caniche . nuevo p . clase . cobertizos # => falso p . has_manners? # => falso
PHP
phpclass Example { / ** * Ejemplo de variable de miembro de instancia. * * Las variables de miembro pueden ser públicas, protegidas o privadas. * * @var int * / public int $ foo ; / ** * Ejemplo de variable miembro estática. * * @var bool * / protected static int $ bar ; / ** * Ejemplo de método constructor. * * @param int $ foo * / public function __construct ( int $ foo ) { // Establece foo. $ esto -> foo = $ foo ; } }// Crea un nuevo objeto de ejemplo. // Establezca la variable miembro "foo" en 5. $ example = new Example ( 5 );// Sobrescribe la variable miembro "foo" a 10. $ ejemplo -> foo = 10 ;// Imprime 10. echo $ ejemplo -> foo ;
Lua
--region example --- @class example_c --- @field foo number Ejemplo de "variable miembro". local example_c = {} local example_mt = { __index = example_c }--- Crea un objeto a partir del ejemplo. --- @return example_c función example_c . new ( foo ) : el primer argumento de la tabla son las variables miembro de nuestro objeto. - En un objeto Lua hay una metatabla y sus variables miembro son pares clave-valor de tabla. return setmetatable ({ foo = foo }, example_mt ) end --endregion- Crea un objeto de ejemplo. - Establezca la variable miembro "foo" en 5. local example = example_c . nuevo ( 5 )- Sobrescriba la variable miembro "foo" en 10. ejemplo . foo = 10- Imprime 10. print ( ejemplo . Foo )
Ver también
Referencias
- ↑ Richard G. Baldwin (10 de marzo de 1999). "P - ¿Qué es una variable miembro?" . http://www.dickbaldwin.com/ : Tutoriales de programación de Richard G Baldwin . Consultado el 12 de agosto de 2011 .
Una variable miembro es un miembro de una clase (variable de clase) o un miembro de un objeto instanciado de esa clase (variable de instancia). Debe declararse dentro de una clase, pero no dentro del cuerpo de un método de la clase.