Доступ к элементу данных в классе
На предыдущих уроках вы научились писать ABL-код для определения частей класса, включая элементы данных, конструкторы, методы и деструктор. Но кроме того необходимо написать ABL-код, который будет выполняться этими частями класса.
Вы уже знаете, как определять переменные, присваивать им значения, выводить на экран и записывать данные в файл используя оператор message, и выходить из блока с помощью оператора return. Все этим операторы могут быть включены в тело конструктора, метода или деструктора. И вы также узнали, как вызывать внутренние процедуры в процедурном файле и как вызывать процедуры из других частей приложения.
На этом уроке вы узнаете, как получить доступ к элементам данных и вызывать методы внутри класса.
В конструкторах, методах или деструкторе класса можно написать код для прямого доступа к элементам данных класса. Доступ к элементам данных осуществляется по имени, но вы также можете ввести ключевое слово «this-object:» в редакторе. Когда вы это сделаете, редактор предоставит вам на выбор раскрывающийся список всех доступных элементов данных в классе, что упрощает поиск имени элемента данных, который вы хотите использовать при работе с большим классом.
Синтаксис для использования элемента данных из класса:
[this-object:]<data-member>
data-member
Имя элемента данных.
Следующий пример демонстрирует инициализацию элементов данных в конструкторе для класса Department.
constructor public Department ( input pDeptName as character, input pMaxNumEmployees as integer, input pExpenseCode as character): super (). assign DeptName = pDeptName /* добавьте сюда код для определения размера массива с помощью pMaxNumEmployees */ this-object:ExpenseCode = pExpenseCode. end constructor.
Для присваивания значений элементам данных класса используются значения входящих параметров конструктора. Как только экземпляр этого класса будет создан, он станет доступен для добавления сотрудников и выполнения прочих методов класса. Обратите внимание, здесь мы использовали префикс this-object: для того, чтобы редактор помог нам выбрать имя элемента данных ExpenseCode.
