Объектно-ориентированное программирование



         

Объектно-ориентированное программирование - стр. 95


Даже если вы еще не решили, будете ли вы применять объектно-ориентированное программирование, вы должны знать эти термины хотя бы для того, чтобы не использовать их в качестве идентификаторов.

 

Зарезервированные   слова

Зарезервированные слова в Турбо Паскале недоступны для их использования в качестве идентификаторов. Например, вы не можете назвать переменную -She, а процедуру - procedure. Зарезервированные слова, которые относятся к объектам, это Constructor, Destructor  , Object.

Конечно же, наиболее важное из них -Object. Оно появляется в объявлениях типа  и очень похоже на зарезервированное слово Record. Подобно записи, объект имеет нуль или больше полей данных. Но в отличие от записи, он также имеет методы (процедуры и функции, которые оперируют с полями данных). Эти методы появляется в объявлении объекта как заголовок процедуры или функции - тело подпрограммы находится дальше. Часто объявление объектного типа помещается в секции интерфейса модуля, а реальные методы помещаются в секции реализации. Вы можете включить имя существующего  объектного типа в круглые скобки после ключевого слова Object , указывая, что определяемый объект - потомок существующего объекта.

Любой объектный тип, определение которого включает виртуальные методы, должен иметь, по крайней мере, один конструктор. Эта подпрограмма служит для инициализации VMT (virtual method table) и, если необходимо, DMT (dynamic method table). Вы должны вызывать конструктор прежде, чем что-то делаете с таким объектом. Часто конструктор будет также выполнять некоторую инициализацию полей данных и операции выделения необходимых ресурсов системы   Конструкторы могут инициализировать объект, загружая поля данных из потока. Поэтому конструкторы обычно называют либо Init, либо  Load.

В общем случае, вам не следует вызывать конструктор из другого метода; однако, если вы так делаете, то должны быть абсолютно уверены, что задали имя конструктора полностью, т. е. поставили перед именем конструктора имя объектного типа с точкой в конце, как показано ниже:




Содержание  Назад  Вперед