stringtranslate.com

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

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

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

Например

С++

класс Foo { int bar ; // Переменная-член public : void setBar ( const int newBar ) { bar = newBar ; } };                int main () { Foo rect ; // Локальная переменная       вернуть 0 ; } 

Джава

public class Program { public static void main ( String [] args ) { // Это локальная переменная. Продолжительность его жизни // определяется лексической областью действия. Фу- фу ; } }             public class Foo { /* Это переменная-член — новый экземпляр  этой переменной будет создаваться для каждого  нового экземпляра Foo. Срок жизни этой  переменной равен сроку жизни «этого»  экземпляра Foo  */    внутренний бар ; } 

Питон

класс  Foo :  def  __init__ ( self ):  self . _бар  =  0 @property  def  bar ( self ):  вернуть  себя . _бар @бар . установщик  def  bar ( self ,  new_bar ):  self . _bar  =  новый_барж знак  равно  Фу () ж . бар  =  100 отпечатков ( f . бар )

Общий Лисп

( defclass foo () ( bar )) ( defvar f ( make-instance 'foo )) ( setf ( значение слота f 'bar ) 100 ) ( print ( значение слота f 'bar ))                

Рубин

/*  Ruby имеет три типа переменных-членов: класс, экземпляр класса и экземпляр. */класс Собака  # Переменная класса определена в теле класса с двумя знаками at # и описывает данные обо всех собаках *и* их производных породах собак (если таковые имеются) @@sniffs = true    конецдворняга = Собака . новый дворняга . сорт . нюхает #=> правда   класс Пудель < Собака    # «Переменная экземпляра класса» определяется в теле класса с помощью одного символа # и описывает данные только о классе Poodle. Он не делает никаких заявлений о своем родительском классе # или о любом возможном подклассе, производном от Poodle @sheds = false      # Когда создается новый экземпляр Poodle, по умолчанию он необученный. Обученная переменная # является локальной по отношению к методу инициализации и используется для установки переменной экземпляра @trained # Переменная экземпляра определяется внутри метода экземпляра и является членом экземпляра Poodle def инициализировать ( обученный = false ) @trained = обученный конец           защита has_manners? @обученный конец   конецр = Пудель . новый п . сорт . проливает #=> false p . имеет_манеры? #=> ложь    

PHP

<?phpclass  Пример {  /**  * Пример переменной-члена экземпляра.  *  * Переменные-члены могут быть общедоступными, защищенными или частными.  *  * @var int  */  public  int  $foo ;  /**  * Пример статической переменной-члена.  *  * @var bool  */  protected  static  int  $bar ;  /**  * Пример метода конструктора.  *  * @param int $foo  */  public  function  __construct ( int  $foo )  {  // Устанавливает foo.  $this -> foo  =  $foo ;  } }// Создайте новый объект примера. // Установите для переменной-члена "foo" значение 5. $example  =  new  Пример ( 5 );// Перезаписываем переменную-член "foo" на 10. $example -> foo  =  10 ;// Печатает 10. echo  $example -> foo ;

Луа

--region example --- @class example_c --- @field foo номер Пример "переменной-члена". локальный  example_c  =  {} локальный  example_mt  =  { __index  =  example_c }--- Создает объект из примера. --- @return example_c функция  example_c . new ( foo )  — первый аргумент таблицы — это переменные-члены нашего объекта.  -- В Lua объект представляет собой метатаблицу, а ее переменные-члены представляют собой пары "ключ-значение" таблицы.  return  setmetatable ({  foo  =  foo  },  example_mt ) end --endregion-- Создайте пример объекта. -- Установите для переменной-члена "foo" значение 5. local  example  =  example_c . новый ( 5 )-- Перезапишите переменную-член "foo" на 10. example . фу  =  10-- Печатает 10. print ( пример . foo )

Смотрите также

Рекомендации

  1. ^ Ричард Г. Болдуин (10 марта 1999 г.). «Вопрос – Что такое переменная-член?». Учебники по программированию Ричарда Болдуина . Проверено 12 августа 2011 г. Переменная-член — это член класса (переменная класса) или член объекта, созданного из этого класса (переменная экземпляра). Он должен быть объявлен внутри класса, а не внутри тела метода класса.