Приднестровская поддержка XOOPS
Хотя мы и называем этот стиль объектно-ориентированным программированием (objectoriented programming), большинство всех задач в программировании связано с разработкой классов. Класс (class) можно представить себе как детальный проект объекта, определяющий все действия, которые могут быть выполнены над ним. Поэтому определения классов содержат переменные, функции (называемые методами) и даже константы, характерные только для данного класса или его экземпляров. В PHP 4 базовый класс определялся так, как показано в листинге 1.
class myPHP4Class {
var $my_variable;
function my_method( $param ) {
echo "Вызван метод my_method($param)!\n";
echo "Значение внутренней переменной: ";
echo "{$this->my_variable}\n";
}
}
После того как класс будет определен, можно создать экземпляр (instance) класса. Экземпляром класса является объект, представляющий рабочую копию предварительно определенного класса. Чтобы создать экземпляр класса myPHP4Class, используется оператор new:
include_once ("myPHP4Class_def.php");
$myinstance = new myPHP4Class();
$anotherinstance = new myPHP4Class();
Здесь переменные $myinstance и $anotherinstance представляют объекты, имеющие тип myPHP4Class. Хотя они и были созданы на основе одного и того же определения класса, они совершенно не зависят друг от друга.
После того как будет создан экземпляр класса, свойства и методы, определенные в исходном классе, будут доступны для экземпляра с помощью операции ->. Продолжая предыдущий пример, в листинге 2 устанавливается свойство $my_variable каждого экземпляра.
$myinstance = new myPHP4Class();
$anotherinstance = new myPHP4class();
$myinstance->my_variable = 10;
$anotherinstance->my_variable = 20;
$myinstance->my_method("MyParam");
Во время выполнения свойству $my_variable объекта $myinstance будет присвоено значение 10, а свойству $my_variable объекта $anotherinstance — значение 20. Поскольку сценарий вызывает метод my_method() класса, будет сгенерирован также следующий вывод:
Вызван метод my_method(MyParam)!
Значение внутренней переменной: 10
Примечание: $this — это особая переменная внутри класса, представляющая экземпляр самого объекта. Она используется для доступа к методам и свойствам внутри объекта.
Отправитель | Нити |
---|
5 пользователь(ей) активно (4 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 5 далее... |