Л. Томсон, Л. Веллинг. Разработка Web-приложений на PHP и MySQL Заказать на Озоне
Подробнее
Уроки по DirectX. Использование графики (Direct3D,
DirectDraw), звука, взаимодействие с пользователем (DirectInput).
Применение DirectX в Visual C++, Visual Basic и др., на платформе .NET
(языки C#, VB.NET). Каждый урок расчитан на 15-20 минут.
PHP. Урок 27. Первый класс
Классы проедставляют из себя новый тип данных. Этот тип определяется программистом. В программе может быть определено столько новыйх классов, сколько нужно.
Внутри класса может находится несколько переменных. Например, если вы определяете новый класс Book (книга), то внутри него могут находится переменные Author (автор), Title (название), Price (цена) и другое.
Вот пример простейшего класса и его использования:
<?php
class Person
{
var $name;
}
//Создание экземпляра класса.
$a=new Person();
//Присваивание значения переменной класса.
$a->name="Vasja";
//Вывод на экран.
print $a->name;
?>
Как вы видите, для определения нового класса мы используем ключевое слово class, за которым следует произвольное название. Все, что находится внутри класса, мы заключаем в фигурные скобки.В нашем примере мы внутри класса объявили только одну переменную name для имени.
После того, как класс создан, мы создаем его экземпляр:
//Создание экземпляра класса.
$a=new Person();
Экземпляр создается через ключевое слово new. $a - это название экземпляра. Название, естественно, может быть любое.
Доступ к переменным класса происходит через оператор -> (стрелочка):
$a->name="Vasja";
...
print $a->name;
Приведенный фрагмент выведет в окно браузера естественно Vasja.
Обратите внимание, что внутри класса нет закрытой (private) части, как это имеет место в других языках программирования. Весь класс полностью открыт. И это не слишком хорошо, на мой взгляд.
В классе кроме переменных могут быть и функции. Функции класса, в отличие от обычных функций, называются методами. Вот пример класса с методом:
<?php
class Person
{
var $name; //Имя.//Метод класса.function GetName()
{
print "$this->name";
}
}
//Создание экземпляра класса.
$a=new Person();
//Присваивание значения переменной класса.
$a->name="Vasja";
//Вывод на экран.
$a->GetName();
?>
Обратите внимание, как внутри метода GetName мы обращемся к переменной класса:
...
print "$this->name";
...
Обращение происходит через переменную $this, которая указывает на текущий экземпляр класса. После нее ставим оператор ->, после которого пишем имя переменной класса (без знака $).
Также обратите вниание, что при вызове метода мы не написали print, так как print есть уже в методе класса: