пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Принцип наследования. Перекрытие полей и методов. Область видимости. Показать реализацию принципа на примере.

Поля – данные класса, Методы объектов – процедуры, функции класса.

Принцип наследования. Одним из основных принципов объектно-ориентированного программирования является принцип наследования.

      Смысл его в том, что при создании нового класса, лишь немногим отличающегося от уже описанного, нет необходимости переписывать заново все существующие поля и методы. Достаточно просто объявить, что новый класс порождается от существующего: type TNewClass = class (TOldClass), т.е. является потомком или дочерним классом старого класса, называемого предком или родительским классом. При этом класс-потомок автоматически (по умолчанию) наследует все поля, методы и свойства класса-предка. Поэтому, при описании потомка достаточно просто указать новые, дополнительные поля, методы и свойства. Если в описании нового класса имя предка не указано (как в примерах выше) то новый класс порождается от класса TObject, ближними или далекими потомками которого являются все остальные классы.

      Области видимости (доступности). При описании класса важно соблюсти разумный компромисс. С одной стороны, требуется скрыть ряд внутренних методов и полей, одни из которых бесполезны пользователю класса и только усложняют его интерфейс, а доступ к другим полям нужно организовать через систему проверок или свойств (инкапсуляция). В языке Object Pascal применяют следующие виды доступа к полям, методам и свойствам:

Public (общие). Поля, методы и свойства из этой секции не имеют ограничений на видимость. Они доступны из других функций и методов объектов как в данном модуле, так и в других модулях, ссылающихся на него.

Protected (защищенные). П., м. и св-ва этой секции доступны всем функциям и методам данного модуля. В других модулях доступны только в классах-потомках данного класса.

Private (личные). Наибольшее ограничение доступности. П., м. и св-ва из этой секции доступны только в данном модуле и недоступны из других модулей.

Published (опубликованные). Аналогично public, только свойства из данной секции доступны еще и из среды визуального программирования (Object Inspector).

Automated. Появилась в последних версиях Delphi. Используется для создания объектов Автоматизации (COM-технологии). 


25.03.2015; 19:10
хиты: 434
рейтинг:+1
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь