Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Virtual;



End ;

Это ключевое слово должно быть указано для всех методов, для которых необходимо применять механизм позднего связывания. Порядок чередования виртуальных и невиртуальных методов в дефиниции класса не регламентируется.

Конструкторы и деструкторы

Среди всех методов класса выделяют две особых группы, имеющих особое значение при создании и удалении объектов этого класса:

· конструкторы;

· деструкторы.

Конструкторы предназначены для инициализации полей объектов в момент их создания. Объявляются они следующим образом:

Type

Class4 = Object

B: Byte;

Constructor Init(CB: Byte);

Destructor Done; Virtual;

End;

Constructor Class3.Init(CB: Byte);

Begin

B:= VB;

End;

Destructor Class3.Done;

Begin

End;

Заметим, что в вышеприведенном примере определен также и виртуальный деструктор. Назначение деструкторов обратно назначению конструкторов - выполнять некоторые действия при удалении объектов. Конструкторы, в отличие от деструкторов не могут быть виртуальными.

Несмотря на то, что как конструктор, так и деструктор могут быть вызваны непосредственно, их специфическое назначение привело к появлению возможности вызова их параллельно с созданием (удалением) объектов. Так как создание (удаление) объектов в процессе выполнения программы на языке Паскаль возможны только при использовании ДРП, то функции создания/удаления типизированных переменных имеют дополнительный синтаксис:

{... }

Type

PClass4 = ^Class4;

Var

P: PClass4;

{... }

Begin

P:= New(PClass4, Init(4));

{... }





Дата публикования: 2014-10-25; Прочитано: 250 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...