вопрос | ответ |
Что же касается объектов, создаваемых динамически (во время выполнения приложения), | то здесь нужен явный вызов конструктора и метода Free. |
Чтобы правильно инициализировать в создаваемом объекте поля, относящиеся к классу-предку, нужно сразу же при входе в конструктор вызвать конструктор п | constructor TMyObject.Create; begin inherited Create; ... end; |
Примечание | Конструктор создает новый объект только в том случае, если перед его именем указано имя класса. Если указать имя уже существующего объекта, он поведет |
Для уничтожения экземпляра объекта рекомендуется использовать метод Free, который первоначально проверяет указатель (не равен ли он Nil) и только зате | AMyObject.Free ; |
Типичное название деструктора — Destroy. | type TMyObject = class(TObject) MyField: Integer; Constructor Create; Destructor Destroy; Functio |
Созданный экземпляр уничтожается другим методом — деструктором: | AMyObject.Destroy; |
Создание объекта | AMyObject := TMyObject.Create; |
type TMyObject = class(TObject) MyField: Integer; function MyMethod: Integer; end; | В этом примере описан класс TMyObject, содержащий поле MyField и метод |