Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!