6.3 Экземпляр класса |
Вверх Предыдущий Следующий |
Классы должны быть созданы с помощью одного из своих конструкторов (их может быть несколько, конструкторов). Помните, что класс является указателем на объект в куче. Когда переменная некоторого класса объявлена, компилятор просто выделяет место для этого указателя, а не весь объект. Конструктор класса возвращает указатель на инициализированный экземпляр объекта в куче. Так, для инициализации экземпляра некоторого класса, можно было бы сделать следующее: ClassVar := ClassType.ConstructorName; Расширенный синтаксис new и dispose не может быть использован для создания и уничтожения экземпляра класса. Это конструкции зарезервированы для использования только с объектами. Вызов конструктора спровоцирует вызов GetMem, что-бы выделить достаточно места для хранения данных экземпляра класса. После этого, код конструктора выполняется. Конструктор имеет указатель на его данныe, в Self.
|