Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
р, MysqlTable), 
лениво плавающего по просторам океана (расположенного в оперативной памяти). 
Мы не настолько смелы, чтобы приблизиться к этому киту на достаточно близкое 
расстояние и дотронуться до него (не хотим использовать свойства или методы 
объекта напрямую). Если уж быть честными, мы даже не видим этого кита (не мо- 
жем напрямую использовать в программе этот объект) — он слишком далеко (на 
него нет ссылок), и уж подавно не можем его сдвинуть с места (скопировать 
объект 
в другую переменную). Но зато, как мы знаем, его постоянно сопровождают рыбы- 
прилипалы (объекты-интерфейсы), маленькие и юркие (имеющие код небольшого 
размера), которые иногда заплывают достаточно далеко, чтобы мы могли с ними 
взаимодействовать. Этих рыб нам удалось выдрессировать, так что теперь они 
могут 
передавать киту любые наши приказы (передавать запросы на обслуживание) — 
разумеется, из тех, что сами понимают (для которых имеются соответствующие 
методы). Конечно, к киту могут "приклеиваться" рыбы-прилипалы различных видов 
и по-разному дрессированные (объект может иметь несколько разных интерфей- 
сов). Важно то, что мы не можем взаимодействовать с китом никак иначе, кроме 
как 
посредством этих рыб-прилипал (не можем напрямую использовать объект). При 
этом мы имеем право совершенно свободно разводить прилипал в неволе (копиро- 
вать объекты-интерфейсы), ведь киту (главному объекту) нет до этого ровным сче- 

том никакого дела (в PHP объект "не знает", сколько у него интерфейсов и как 
они 
используются). 

Глава 31. Объектно-ориентированное программирование на PHP 483 
Вроде бы понятно, не правда ли? А теперь давайте уберем все, кроме слов- 
связок, но оставим курсив. Вот что у нас получится. "Представим себе объект 
большого и сложного класса, например, MysqlTable, расположенный в опе- 
ративной памяти. Мы не хотим использовать свойства или методы объекта на- 
прямую. Если уж быть честными, мы даже не можем напрямую использовать в 
программе этот объект — на него нет ссылок, и уж подавно не способны ско- 
пировать объект в другую переменную. Но зато, как мы знаем, его постоянно 
"сопровождают" объекты-интерфейсы, имеющие код небольшого размера. Эти 
интерфейсы могут передавать запросы на обслуживание — разумеется, из тех, 
для которых имеют соответствующие методы. Конечно, объект может иметь 
несколько разных интерфейсов. Важно то, что мы не можем напрямую исполь- 
зовать объект. При этом мы имеем право копировать объекты-интерфейсы — 
главному объекту нет до этого ровным счетом никакого дела. В PHP объект "не 
знает", сколько у него интерфейсов и как они используются". 
Итак, основная идея такова: отделим интерфейс MysqlTable от его реализации, т. 
е. 
напишем класс IMysql, с которым и будем всегда работать. Этот класс должен со-
 
<<-[Весь Текст]
Страница: из 287
 <<-