Инкапсуляция
Несколько лет назад в программе коммерческого телевидения обсуждался вопрос экономии денег при использовании семизначного префикса перед набором номера при междугородных звонках.
Один из участников передачи спросил: "За счет чего это происходит?".
Другой ответил: "А за счет чего лопается поп-корн? Кто знает?".
Рис. 2.6. Объекты инкапсулируют выполняемые ими операции, т.е. они скрывают выполнение внутренних операций от внешнего мира и от других объектов
Почему это важно? Инкапсуляция помогает снизить потенциал воздействия негативных событий. В системе, состоящей из объектов, все они связаны друг с другом различным образом. Если один из них начинает работать неправильно и программисты должны его как-то изменить, скрытость операций от других объектов позволяет не затрагивать связанные с ним объекты.
Возвращаясь в реальный мир, можно оценить важность инкапсуляции в окружающих объектах. Монитор скрывает свои операции от процессора системного блока. Если монитор поломается, его можно либо починить, либо заменить. При этом не нужно заменять или чинить процессор.
Пока мы не перешли к следующему вопросу, рассмотрим еще одно понятие. Объект скрывает свое поведение от других объектов и от окружающего мира. (С этой точки зрения инкапсуляцию называют сокрытием информации.) Но объект должен представить системе свое "лицо", чтобы можно было инициировать его операции. У телевизора, например, имеется набор кнопок, размещенных либо на самом аппарате, либо на пульте. Стиральная машина оснащена набором регуляторов для установки температуры и уровня воды. Телевизионные кнопки и регуляторы стиральной машины имеют общее название интерфейс.