На этом шаге мы рассмотрим общую структуру описания классов.
Напомним, что в Object Pascal используется новая ООП-модель, в которой для описания классов используется зарезервированное слово class вместо слова object, применявшегося в старой модели.
Общую структуру описания класса можно представить в таком виде:
type <ИмяКласса> = class (<ИмяРодительскогоКласса>) <Опубликованные поля>; <Опубликованные методы>; <Опубликованные свойства>; private <Приватные поля>; <Приватные методы>; <Приватные свойства>; public <Общедоступные поля>; <Общедоступные методы>; <Общедоступные свойства>; protected <Защищенные поля>; <Защищенные методы>; <Защищенные свойства>; published <Опубликованные поля>; <Опубликованные методы>; <Опубликованные свойства>; automated <Поля реализации OLE-механизма>; <Методы реализации OLE-механизма>; <Свойства реализации OLE-механизма>; end;
По сравнению со старой ООП-моделью были сначала добавлены свойства и директивы protected и published (16-разрядная версия Delphi), а затем - еще одна директива automated (начиная с Delphi 2.0).
Обратим внимание, что поля, методы и свойства, описанные сразу после заголовка класса, по умолчанию принимаются опубликованными (published) при включенной директиве компилятора {$М+} или общедоступными (public) при выключенной директиве {$М-}.
Как и ранее количество разделов private, public, protected, published и automated, а также порядок их следования, могут быть произвольными. Семантика этих разделов рассматривается в последующих шагах.
На следующем шаге мы рассмотрим опережающее описание классов.