Классы в PHP: значение, виды, правописание

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

Используя конструкцию, известную как класс, ООП позволяет вам определить сущность автомобиля как нечто со всеми этими характеристиками. Класс — это единица кода (состоящая из свойств и методов), который описывает характеристики и поведение всех подобных сущностей. Например, класс под названием Car будет описывать свойства и методы, общие для всех автомобилей.

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

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

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

Виды классов PHP:

1 Обычные — всем нам известные классы, которые начинаются со слова class.

class Person {}

2. Абстрактные — классы, которые не могут иметь экземпляров класса, то есть объекта. Имеют описательное значение, и не требуют реализации. В чем разница между абстрактным классом и интерфейсом мы обсудим в следующей статье.

abstract class AbstractClass {}

3. Финальные (ненаследуемые) — классы, которые не могут быть унаследованы, необходимо не путать, так как они могут иметь наследника, но быть унаследованы нет.

final class BaseClass {}

4. Трейты — это не совсем класс, так как не может иметь свой экземпляр в виде объекта, то есть это дополнительная возможность при использовании наследования.

trait returnInfo {}

5. Анонимные — классы, появившиеся в PHP 7 для расширения функциональности обычных классов, на подобии как в Java Script.

// До PHP 7  
class Logger {} 
$obj->setLogger(new Logger()); 

// С PHP 7+  
$obj->setLogger(new class {});

Добавить комментарий