Поля – данные класса, Методы объектов – процедуры, функции класса.
Принцип наследования. Одним из основных принципов объектно-ориентированного программирования является принцип наследования.
Смысл его в том, что при создании нового класса, лишь немногим отличающегося от уже описанного, нет необходимости переписывать заново все существующие поля и методы. Достаточно просто объявить, что новый класс порождается от существующего: ● type TNewClass = class (TOldClass), т.е. является потомком или дочерним классом старого класса, называемого предком или родительским классом. При этом класс-потомок автоматически (по умолчанию) наследует все поля, методы и свойства класса-предка. Поэтому, при описании потомка достаточно просто указать новые, дополнительные поля, методы и свойства. Если в описании нового класса имя предка не указано (как в примерах выше) то новый класс порождается от класса TObject, ближними или далекими потомками которого являются все остальные классы.
Области видимости (доступности). При описании класса важно соблюсти разумный компромисс. С одной стороны, требуется скрыть ряд внутренних методов и полей, одни из которых бесполезны пользователю класса и только усложняют его интерфейс, а доступ к другим полям нужно организовать через систему проверок или свойств (инкапсуляция). В языке Object Pascal применяют следующие виды доступа к полям, методам и свойствам:
● Public (общие). Поля, методы и свойства из этой секции не имеют ограничений на видимость. Они доступны из других функций и методов объектов как в данном модуле, так и в других модулях, ссылающихся на него.
● Protected (защищенные). П., м. и св-ва этой секции доступны всем функциям и методам данного модуля. В других модулях доступны только в классах-потомках данного класса.
● Private (личные). Наибольшее ограничение доступности. П., м. и св-ва из этой секции доступны только в данном модуле и недоступны из других модулей.
● Published (опубликованные). Аналогично public, только свойства из данной секции доступны еще и из среды визуального программирования (Object Inspector).
● Automated. Появилась в последних версиях Delphi. Используется для создания объектов Автоматизации (COM-технологии).