Стремление избавиться от недостатков структурного подхода привело к развитию новых идей, основанных на объектной декомпозиции. Такой подход к разработке программных систем получил название объектно-ориентированного (ООП). В основе его лежат понятия объект, класс, инкапсуляция, наследование и полиморфизм [c.85]
Инкапсуляция - скрытие информации [3]. При объектно-ориентированном программировании предусмотрена возможность запретить любой доступ к атрибутам объектов, кроме как через его методы. Внутренняя структура объекта в этом случае скрыта от пользователя, т. е. объекты можно считать самостоятельными сущностями, отделенными от внешнего мира. Для того чтобы объект произвел некоторое действие, ему извне необходимо послать сообщение, которое инициирует выполнение нужного метода. Инкапсуляция позволяет изменять реализацию любого класса объектов без опасения, что это вызовет нежелательные побочные эффекты в программной системе. Тем самым упрощается процесс исправления ошибок и модификации программ. [c.86]
Следует заметить, что основные свойства классов и объектов -инкапсуляция, наследование и полиморфизм - полностью отвечают задаче повторного использования. В связи с этим в последние годы значительно возрос интерес к объектно-ориентированным ИС, которые предоставляют удобные услуги, связанные с повторным использованием программных компонентов [8]. [c.90]
Кроме того, свойства наследования и инкапсуляции предоставляют возможность каждому участнику проекта рассматривать модель с удобным для него уровнем детализации. Руководители проекта могут работать с верхним уровнем модели, где отражаются только основные классы, объекты и связи. Другие разработчики или эксперты имеют возможность опускаться до более мелких, терминальных объектов, их свойств, связей, методов. [c.91]
Идеальное проектирование 203,204 Иерархия классов 84,277 Индуктивное мышление 44 Инженерия знаний 95,242 Инжиниринг бизнеса 12,16,18 Инкапсуляция 85,86 Инспектор 120 Инспекция 119 Инструмент 258,270 Интерфейсный объект 137,189 Информационная система 43 Информационные технологии 12, 25 Источник данных (сервер данных) 283 Итератор 285 [c.325]
Объектно-ориентированная модель, аналогичная во многих отношениях фреймовой модели, также предусматривает инкапсуляцию процедур в структуры данных и механизм наследования. Отличия заключаются в четком различи понятий класс объектов и экземпляр объекта, а также в способе активации процедур к объектам. Для объектно-ориентированной модели характерны такие черты, как скрытие данных и их доступность только через методы (присоединенные процедуры) класса, наследование как атрибутов, так и методов (в последнем случае обеспечивается необходимый уровень абстракции данных и полиморфизм использования процедур). Обращение к объектам, то есть вызов методов класса, осуществляется либо из внешних программ, либо из других объектов путем посылки сообщений. [c.64]
Объектно-ориентированная модель предусматривает инкапсуляцию процедур (методов) в структуры данных классов объектов, к которым разрешен доступ только через эти методы. Механизм наследования свойств распространяется и на методы, обеспечивая свойство полиморфизма процедур. [c.71]
Когда прикладной процесс одной из систем направляет сообщение прикладному процессу другой системы, он направляет данные на уровень 7. При этом данные снабжаются заголовком согласно правил протокола седьмого уровня (это называется инкапсуляцией данных). Затем эти данные, включая добавленный заголовок, передаются на уровень 6, где они рассматриваются как единое целое. На этом уровне к данным добавляется заголовок протокола шестого уровня (повторная инкапсуляция). Данный процесс повторяется до уровня 1, который передает инкапсулированные данные по линии связи смежному узлу. Когда данные достигнут места назначения, к ним применяется обратная процедура. Здесь на каждом из уровней в соответствии с соответствующим протоколом убирается заголовок-этого уровня, а извлеченные данные передаются на вышестоящий уровень. Заметим, что аналогичные процедуры для 1,2 и 3-го уровней выполняются и в транзитных коммуникационных узлах. [c.385]
Хотя особенности используемого языка влияют на модель реального объекта, важно обеспечить ясность и легкую модифицируемость модели. В любом случае проектируйте объекты с инкапсуляцией (см. разд. 3.5 и [1]), даже если язык программирования не поддерживает подобные конструкции. [c.209]
