Руководство пользователя
-
Руководство по 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).