Руководство пользователя
-
Руководство по NTTX Advisors
- Терминал NetTradeX Advisors
-
Статьи
-
NetTradeX Language: Введение
- Основы языка
- Функции языка
-
Cистемные объекты языка
- Сделки
- Ордера
- Индикаторы
- Объектно-ориентированное программирование
-
DLL файлы
-
Объект Account
-
Объект Bars
-
Объект Chart
-
Объект datetime
-
Объект History
-
Объект file
-
Объект Globals
-
Объект Math
-
Объект Symbols
-
Объект System
Работая со свойствами класса может понадобится реализовать особую логику для их чтении или записи. Например, может понадобится установить переменной значение по-умолчанию, если происходит попытка записи недопустимого значения. При этом программист может использовать стандартный оператор.
(точка) для работы с такими объектами.
Для реализации такого доступа понадобится реализовать:
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).