Jump to content

Переменная-член

В объектно-ориентированном программировании переменная -член (иногда называемая - членом полем ) — это переменная , которая связана с конкретным объектом и доступна для всех его методов ( функций-членов ).

В языках программирования на основе классов они делятся на два типа: переменные класса (также называемые переменными-членами ), где только одна копия переменной используется всеми экземплярами класса статическими ; и переменные экземпляра , где каждый экземпляр класса имеет собственную независимую копию переменной. [1]

Для примеров

[ редактировать ]
class Foo {
    int bar; // Member variable
  public:
    void setBar(const int newBar) { 
      bar = newBar;
    }
};

int main () {
  Foo rect; // Local variable

  return 0;
}
public class Program
{
    public static void main(String[] args)
    {
    	// This is a local variable. Its lifespan
    	// is determined by lexical scope.
    	Foo foo;
    }
}

public 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;
}
class Foo:
    def __init__(self):
        self._bar = 0

    @property
    def bar(self):
        return self._bar

    @bar.setter
    def bar(self, new_bar):
        self._bar = new_bar

f = Foo()
f.bar = 100
print(f.bar)

Общий Лисп

[ редактировать ]
(defclass foo () (bar))                                                         
                                                                                
(defvar f (make-instance 'foo))                                                 
(setf (slot-value f 'bar) 100)
(print (slot-value f 'bar))
/*
  Ruby has three member variable types: class, class instance, and instance.
*/

class Dog

  # The class variable is defined within the class body with two at-signs
  # and describes data about all Dogs *and* their derived Dog breeds (if any)
  @@sniffs = true

end

mutt = Dog.new
mutt.class.sniffs #=> true

class Poodle < Dog

  # The "class instance variable" is defined within the class body with a single at-sign
  # and describes data about only the Poodle class. It makes no claim about its parent class
  # or any possible subclass derived from Poodle
  @sheds = false

  # When a new Poodle instance is created, by default it is untrained. The 'trained' variable
  # is local to the initialize method and is used to set the instance variable @trained
  # An instance variable is defined within an instance method and is a member of the Poodle instance
  def initialize(trained = false)
    @trained = trained
  end

  def has_manners?
    @trained
  end

end

p = Poodle.new
p.class.sheds #=> false
p.has_manners? #=> false
<?php

class Example
{
    /**
     * Example instance member variable.
     *
     * Member variables may be public, protected or private.
     *
     * @var int
     */
    public int $foo;
    
    /**
     * Example static member variable.
     *
     * @var bool
     */
    protected static int $bar;
    
    /**
     * Example constructor method.
     *
     * @param int $foo
     */
    public function __construct(int $foo)
    {
        // Sets foo.
        $this->foo = $foo;
    }
}

// Create a new Example object.
// Set the "foo" member variable to 5.
$example = new Example(5);

// Overwrite the "foo" member variable to 10.
$example->foo = 10;

// Prints 10.
echo $example->foo;
--region example
--- @class example_c
--- @field foo number Example "member variable".
local example_c = {}
local example_mt = {__index = example_c}

--- Creates an object from example.
--- @return example_c
function example_c.new(foo)
  -- The first table argument is our object's member variables.
  -- In a Lua object is a metatable and its member variables are table key-value pairs.
  return setmetatable({
    foo = foo
  }, example_mt)
end
--endregion

-- Create an example object.
-- Set the "foo" member variable to 5.
local example = example_c.new(5)

-- Overwrite the "foo" member variable to 10.
example.foo = 10

-- Prints 10.
print(example.foo)

См. также

[ редактировать ]
  1. ^ Ричард Г. Болдуин (10 марта 1999 г.). «Вопрос: Что такое переменная-член?» . Учебники по программированию Ричарда Болдуина . Проверено 12 августа 2011 г. Переменная-член — это член класса (переменная класса) или член объекта, созданного из этого класса (переменная экземпляра). Он должен быть объявлен внутри класса, а не внутри тела метода класса.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 63bcc91507cc203d9ae9e5cddb8c70cf__1661353320
URL1:https://arc.ask3.ru/arc/aa/63/cf/63bcc91507cc203d9ae9e5cddb8c70cf.html
Заголовок, (Title) документа по адресу, URL1:
Member variable - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)