belarusweb.net
© Петр Романовский Минск, 2016-2017.



belarusweb.net

Основы создания сайтов...
PHP+MySQL >>>
                          Учебник Задачник Справочник

6.1. Создание классов и объектов

Понятия объекта и класса являются ключевыми в объектно-ориентированных языках программирования, к которым относится также и язык PHP. Объекты в нем представляют собой один из типов данных и становятся доступными после описания соответствующего класса.

Класс – это шаблон кода, который используется для создания объектов.

Каждое определение класса начинается с ключевого слова class, затем записывается имя класса и при помощи пары фигурных скобок формируется тело класса, в котором определяются свойства и методы этого класса (см. пример 6.1).

<?php
class empty_class{   		  //Объявили пустой класс без свойств и методов 

} 
$empty_1=new empty_class();  //Создали экземпляр класса, т.е. объект
$empty_2=new empty_class();  //Создали еще один экземпляр класса, т.е. объект
?>

Пример 6.1. Определение класса и создание объектов

Имена классов являются регистронезависимыми и должны начинаться с буквы или символа подчеркивания, за которым может следовать любое количество букв, цифр или символов подчеркивания. При этом имя класса не должно входить в список зарезервированных слов PHP.

После того, как класс будет создан, можно создавать его отдельные экземпляры, т.е. объекты, и сохранять их в переменных. Для этого используется ключевое слово new, после которого указывается имя класса, экземпляром которого будет являться создаваемый объект. Так в примере выше было создано два объекта типа empty_class. И хотя оба они пусты – это все равно два полноценных независимых объекта, принадлежащих к одному и тому же типу, т.к. они являются экземплярами одного и того же класса.

При сохранении объектов в переменных происходит присвоение не самого объекта, а специального идентификатора (ссылки), по которому этот объект можно будет найти при обращении к нему позднее. Соответственно, если мы присвоим один и тот же объект двум разным переменным, то они будут хранить один и тот же идентификатор объекта, а при изменении значения любой из них, будет изменено значение и другой. Внешне такой процесс воспринимается, как присвоение объектов переменным по ссылке (в отличие от переменных, которые по умолчанию присваиваются по значению) с той лишь разницей, что присваиваются не сами объекты, а их идентификаторы.

Объекты очень важны для объектно-ориентированного программирования, поскольку позволяют скрывать от внешнего мира детали своего внутреннего устройства, которое может быть изменено без необходимости внесения изменений в использующий их код. При этом работа над каждым отдельным модулем в виде объекта может вестись отдельно, а по завершении разработки готовые модули могут быть соединены воедино в виде масштабного комплексного приложения. Данный процесс можно наглядно представить на примере из жизни, когда отдельные модули МКС собираются независимо друг от друга разными странами, а затем на орбите собираются в одну монолитную космическую станцию посредством готовых интерфейсов, обеспечивающих взаимодействие готовых модулей между собой.

Контрольные вопросы и задания

  1. Дайте определение классу, объекту. Как создать объект?
  2. Опишите механизм сохранения объектов в переменных.

Словарь новых английских слов

one-off [wʌnˈɒf] – одноразовый.
partial [ˈpɑːʃ(ə)l] – частичный.
class [klɑːs] – класс.
new [njuː] – новый.
empty [ˈempti] – пустой.
constant [ˈkɒnst(ə)nt] – константа.
person [ˈpəːs(ə)n] – личность, персона.
object [ˈɒbdʒɪkt] – объект.
method [ˈmɛθəd] – метод.
property [ˈprɒpəti] – свойство.
public [ˈpʌblɪk] – открытый, общественный.
protected [prəˈtektɪd] – защищенный.
private [ˈprʌɪvət] – закрытый, частный.
this [ðɪs] – это, этот.
static [ˈstatɪk] – статичный, неподвижный.
extend [ɪkˈstɛnd] – расширять.
self [self] – собственный.
parent [ˈpɛːr(ə)nt] – родитель, предок.
exit [ˈeksɪt] – выход, выйти.
nest [nest] – вставлять один предмет в другой.
final [ˈfʌɪn(ə)l] – заключительный, окончательный.
construct [kənˈstrʌkt] – создавать, конструировать.
destruct [dɪˈstrʌkt] – разрушать, уничтожать.
descendant [dɪˈsɛnd(ə)nt] – потомок.
abstract [ˈæbstrækt] – абстрактный, отвлеченный.
interface [ˈɪntəfeɪs] – интерфейс, область контакта.
implement [ˈɪmplɪment] – осуществлять, реализовывать.
trait [treɪt] – особенность, черта.
use [ˈjuːs] – употреблять, использовать.
instead [ɪnˈstɛd] – вместо, взамен.
as [æz] – как.
anonymous [əˈnɒnɪməs] – безымянный, анонимный.
clone [kləʊn] – клон, двойник.
set [set] – устанавливать.
unset [ʌnˈsɛt] – удалять.
get [ɡet] – получать.
call [kɔːl] – вызывать, звать.

Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх