Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
15.11. Манипуляция с именами в PHP
Имея дело с большими программами, легко запутаться в изобилии имен. Но несметного количества глобальных имен и функций можно просто избежать.
Благодаря маскировке деталей программист избавляется от необходимости непосредственно «общаться» с каждой переменной и функцией. Для маскировки деталей ипользуют инкапсуляцию — деление программы на классы, объединяющие данные и процедуры их обработки. Внутренние даные классы могут быть обработаны только предусмотренными для этого процедурами. Каждый такой класс имеет внутреннюю часть, называемую реализацией (или представлением), и внешнюю часть, называемую интерфейсом. Доступ к реализации возможен только через интерфейс. Таким образом, релазиация класса как бы заключена в капсулу и скрыта.
Используя инкапсуляцию функций и данных в классе, разработчик дает пользователю (под пользователями понимаются программисты, использующие этот класс) понять, что ему незачем знакомиться со всеми подробностями устройства класса, адостаточно только тех его частей, которые образуют открытый интерфейс.
О любой вещи можно составить логическое представление на разных уровнях понимания. Возьмите автомобиль: дети используют автомобиль как пассажиры, взрослые склонны рассматривать его как средство передвижения, автомобилестроители — как источник существования, а механики — тоже как источник существования, но только после поломки.
Уровень понимания автомобиля у всех этих категорий пользователей различен. Очевидно, что он зависит не от модели автомобиля, а от субъекта. Точно так же обстоит дело и с классами. Разработчик класса обязан знать его во всех подробностях, но пользователям класса достаточно понимания только тех аспектов, которые относятся непосредственно к управлению им. Если же вы являетесь потребителем класса, то для вас имеютзначение не детали, ате его свойства, которые помогут вам в решении собственных задач. Например, конструкторы автомобилей предусматривают тормоза, поскольку знают, что иногда приходится останавливаться. Однако решать, когда жать на тормоз, приходится не им, а водителю.
Такое разделение полномочий, являющееся стороной объектно-ориентированной философии, позволяет существенно сократить сложность проекта в целом.