html.okpython.net
HTML и CSS для начинающих

PHP :: Классы и объекты

Классы в PHP

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

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

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

PHP htmlCodes
<?php

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

} 

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

?>

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

Имена классов в PHP

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

Объекты в PHP

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

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

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

Быстрый переход к другим страницам