Создание экземпляра другого класса
Когда вы создаёте экземпляр другого класса, вы вызываете конструктор для этого класса, используя ключевое слово ABL new. Конструктор возвращает значение, которое является ссылкой на вновь созданный экземпляр класса. Вы должны присвоить ссылку на экземпляр класса переменной или свойству, тип которого является именем класса.
Класс, который вы вызываете, может иметь несколько конструкторов, каждый со своим собственным набором параметров. Вы должны убедиться, что вызываете правильный конструктор, используя список ожидаемых параметров для этого конструктора.
Упрощённый синтаксис вызова конструктора по умолчанию для класса без параметров:
<defined-name> = new <class-name>().
Здесь,
- <defined-name> – Имя ранее определенной переменной или свойства, которое будет содержать ссылку на экземпляр класса.
- <class-name> – Имя класса.
Предположим приложение имеет класс Department, который используется для хранения данных о сотрудниках отдела. Пользователь класса Department может вызвать метод AddEmployee (), чтобы добавить сотрудника в отдел. Рассмотрим метод AddEmployee () класса Department, который принимает в качестве входных данных все данные, необходимые для инициализации экземпляра Employee. Он определяет переменную Emp, которая будет содержать ссылку на экземпляр Employee. Следующая инструкция создаст экземпляр класса Employee, используя ключевое слово new для вызова конструктора. В этом же операторе ссылка на экземпляр класса Employee, возвращаемая конструктором, присваивается переменной Emp.
method public void AddEmployee ( input pEmpNum as integer, input pFirstName as character, input pLastName as character, input pAddress as character, input pPostalCode as character, input pPhones as character extent 3, input pVacationHours as integer, input pJobTitle as character ): define variable Emp as Employee no-undo. Emp = new Employee(). /*Остальная часть метода для инициализации значений экземпляра Employee с использованием параметров, переданных в этот метод. */ return. end method.
После создания можно получить доступ к экземпляру Employee и инициализировать его.