5.1 Объявление |
Вверх Предыдущий Следующий |
Free Pascal поддерживает объектно-ориентированное программирование. Фактически, большая часть компилятора написана, с использованием объектов. Здесь мы представляем некоторые технические вопросы относительно объектно-ориентированного программирования во Free Pascal. Объекты должны рассматриваться как особый вид записей. Запись содержит все поля, которые объявлены в определении объектов и указатели на методы, которые связаны с типом объекта. Объект объявлен, как была бы объявлена запись; за исключением того, что теперь, процедуры и функции могут быть объявлены как часть записи. Объекты могут "наследовать" поля и методы от "родительских" объектов. Это означает, что эти поля и методы могут использоваться , как будто они были включены в объекты, объявленные как "дочерний" объект. Кроме того, вводится концепция видимости: поля, процедуры и функции могут быть объявлены как public (публичные), protected (защищенные) и private (частные). По умолчанию, поля и методы являются public, и доступны за пределами текущего блока. Поля или методы, объявленные как private, доступны только в текущем модуле: их область видимости ограничена реализацией текущего модуля. Объявление прототипа объекта выглядит следующим образом: Типы объектов Как видно далее, можно объявлять столько private и public блоков сколько нужно. Ниже дано допустимое определение объекта: Type TObj = object Private Caption : ShortString; Public Constructor init; Destructor done; Procedure SetCaption (AValue : String); Function GetCaption : String; end; Объект содержит пару конструктор/деструктор, и метод, для получения и установки заголовка. Поле Caption является частным для объекта: к нему нельзя получить доступ вне модуля, в котором объявлен TObj.
Директива {$PackRecords} аналогично действует и на объекты. |