php ООП

#7.20 php trait ООП Трейты (Примеси). Оператор разрешения конфликтов имен в трейтах insteadof

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

Трейты объявляются при помощи ключевого слова trait, после которого следует имя трейта и его содержимое в фигурных скобках:

#7.19 php ООП Интерфейсы. Реализация интерфейсов. Наследование интерфейсов. Совместимость сигнатур.

Интерфейсы

Определение интерфейса напоминает определение класса, только вместо class перед именем интерфейса используется ключевое слово interface:

    interface A
    {
    }

Про интерфейсы можно сказать следующее:

#7.17 php ООП Абстрактные классы и методы

Абстрактным классом называется базовый класс, который является некоторым обобщением производных классов и не предполагает создание объектов. Например, класс "Геометрическая фигура" может являться обобщением классов "Круг", "Треугольник", "Четырехугольник". А класс "Четырехугольник" — обобщением классов "Прямоугольник", "Ромб", "Трапеция". Для создания абстрактного класса используется ключевое слово abstract перед определением класса:

#7.10 php ООП Упаковка и распаковка объекта (сериализация, десериализация). Перехват сериализации, методы __sleep() и __wakeup()

Сериализацией называется преобразование ("упаковка") объекта в какой-либо формат, удобный для хранения и передачи. Это может использоваться, например, для передачи объектов по сети, сохранения состояния приложения между запусками для каждого из пользователей и т.д. Обратный процесс распаковки объекта называется десериализацией.

В PHP для упаковки объекта используется функция serialize, которая получает объект в качестве параметра и возвращает строку:

#7. 9 php ООП Копирование объектов: clone, __clone()

Копирование объектов

При выполнении строки

$lion = new Animal;

в переменной $lion сохраняется ссылка на объект класса Animal. Если присвоить переменную $lion какой-то другой переменной:

$lion2 = $lion

новый объект не будет создан, а лишь продублирована ссылка на уже существующий. Если нам нужно создать новый объект, который будет являться копией существуещего, необходимо использовать ключевое слово clone:

#7. 8 php ООП Перехват обращений к членам класса

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

#7. 7 php ООП Статические свойства и методы. Константы класса

Статические свойства и методы

Свойства и методы называют статическими, если для обращения к ним не требуется создавать экземпляр класса (объект), т.е. не требуется вызывать конструктор через new():

Subscribe to RSS - php ООП