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

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

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
(сложение, вычитание и т. д.) для объектов. Например, если бы 
мы 
захотели добавить в язык комплексные числа, в C++ это можно было сделать без 
осо- 
бых затруднений (и класс комплексных чисел по использованию практически не от- 
личался бы от встроенного типа int), однако в PHP у нас такое добавление не 
удаст- 
ся. Альтернативное решение состоит в том, чтобы везде вместо + и других 
операций 
использовать вызовы соответствующих функций — например, Add(), которые бы 
являлись методами класса. 
Но обо всем по порядку. Давайте посмотрим, как создать класс в PHP. Это 
довольно 
несложно: 
class MyName { 
описания свойств 
. . . 
определения методов 
} 
Замечу, что здесь не создается объекта класса, а только определяется новый тип. 

Чтобы создать объект класса MyName, в PHP нужно воспользоваться специальным 
оператором new: 
$Obj = new MyName; 
Вот теперь в программе существует объект $Obj, который "ведет себя" так же, как 
и 
все остальные объекты класса MyName. 
Свойства объекта 
Но давайте пока не будем создавать объектов, а вернемся опять к классу. Сначала 

(честно говоря, можно и не только в начале, но и в любом другом месте описания) 

должны следовать описания свойств класса. Свойство — это просто своеобразная 
переменная внутри объекта класса, в которой может храниться какое-то значение. 
Например, в классе таблицы MySQL, которым мы вскоре займемся, имя таблицы 
задано в виде свойства $TableName. 
То есть, грубо говоря, каждый объект-таблица содержит в себе свою собственную 
переменную $TableName и имеет над ней полный контроль. Какие именно свойства 
будет иметь любой объект заданного класса, указывается при создании этого 
класса. 

Глава 31. Объектно-ориентированное программирование на PHP 455 
Мы можем представить несколько объектов одного и того же типа как братьев- 
близнецов: у них все одинаково с "физиологической" точки зрения (одни и те 
же имена свойств), но на самом деле это совершенно разные "люди" — у них 
разные взгляды, различный образ жизни (свойства содержат разные значе- 
ния). 
Объект класса может напрямую обращаться к своим свойствам, считывать их или 
записывать. Еще раз: каждый объект одного и того же класса имеет свой собствен- 

ный набор значений свойств, и они не пересекаются. Таким образом, объект класса 
со 
стороны представляется контейнером, хранящим свои свойства. 
Объявление свойств задается при помощи ключевого слова var: 
var $pName1, $pname2, ...; 
Мы видим, что каждое свойство должно иметь уникальное имя в классе. Инструкций 
var может быть несколько, и они могут встречаться в любом месте описания класса,
 
а не только в его начале. 
Займемся теперь вопросом о том, как нам из программы получить доступ к 
какому-то 
свойству определенного объекта (например, объекта $Obj, который мы только что 
создали). Это делается очень просто при помощи операции ->: 
// Выводим в браузер значение свойства Name1 объекта $Obj 
echo $Obj->Name1; 
// Присваиваем значение свойству 
$Obj->Name2="PHP Four"; 
Если какое-то свойство (например, с именем SubObj) объекта само является объек- 

том (что вполне допустимо), нужно использовать две "стрелочки": 
// Выводим значение свойства Property объекта-свойства 
// $SubObj объекта $Obj 
echo $Obj->SubObj->Property; 
Такой синтаксис был придуман из того расчета, чтобы быть максимально простым. 
Добавлю, что указание объекта $Obj перед стрелкой обязательно по той причине, 
что 
каждый объект имеет свой собственный набор свойств. Поэтому-то они и не пересе- 

каются при хранении, а при доступе нужно уточнить объект, свойство которого за- 

прашивается. 
Впрочем, в данном простом примере объект ничем не лучше обычного ассоциативно- 
го массива
 
<<-[Весь Текст]
Страница: из 287
 <<-