Руководство пользователя

Средства доступа к свойствам класса
NetTradeX PC
NetTradeX Android
NetTradeX iOS
NetTradeX Mobile
NetTradeX Advisors
Средства доступа к свойствам класса

Работая со свойствами класса может понадобится реализовать особую логику для их чтении или записи. Например, может понадобится установить переменной значение по-умолчанию, если происходит попытка записи недопустимого значения. При этом программист может использовать стандартный оператор.(точка) для работы с такими объектами.

Для реализации такого доступа понадобится реализовать:

  • get действие, срабатывающее при чтении значения переменной
  • set действие, срабатывающее при записи значения в переменную
class MyObject
{
    private int realProp;
    int prop
    { 
      get const 
      {  
        return realProp; 
      } 
      set 
      { 
        System.Print("Changing the value"); 
        if(value < 0) 
        	realProp=0;
        else
        	realProp = value;
      }
    }  
}
int Run()
{
    MyObject obj;  
    obj.prop = -10;
    System.Print("Setting prop to -10. prop="+obj.prop);
    obj.prop = 5;
    System.Print("Setting prop to 5. prop="+obj.prop);
    return 0; 
}

Результат:

Changing the value
Setting prop to -10. prop=0
Changing the value
Setting prop to 5. prop=5

Обратите внимание на использование переменной value, в которую вначале попадает значение при записи.

При использовании таких геттеров и сеттеров запрещено использовать некоторых операторов, например, ++, -- и т.д., такие операторы должны быть записаны в расширенном формате, чтобы чтение и запись осуществлять отдельно друг от друга (т.е. вместо x++ нужно указывать x=x+1).