Категория:
PHP :: 7-09-2011, 23:06
Язык PHP поддерживает большие объектно-ориентированные функции, полная поддержка которых включена еще в пятой версии языка.
В языке PHP класс объявляется посредством ключевого слова class. Поля и методы класса могут быть общими (public, устанавливается по умолчанию), под защитой (protected) и закрытыми (private). PHP имеет поддержку всех трех основных механизмом ООП —полиморфизм, инкапсуляцию и наследование (класс родителя задается с помощью специального ключевого слова extends сразу после имени требуемого класса). Поддерживаются и другие интерфейсы (устанавливаются в соответствие посредством implements). Разрешается задание абстрактных, финальных методов и классов. Не поддерживается множественное наследование классов, однако класс способен реализовывать сразу несколько интерфейсов. Для перехода к методам класса-родителя используется специальное ключевое слово parent.
Различные классы в языке PHP имеют несколько специальных методов (на английском, Magic methods), которые начинаются с двух знаков подчёркивания. Особенно нужно отметить класс конструктор (__construct(). В ранних версиях (до версии 5.0) конструктором служил специальный метод, одноимённый с классом), а также класс деструктор (__destruct()) и методы записи (__set()) и чтения (__get()),развёртывания (__wake()) и свёртывания (__sleep()), клонирования (__clone()) и пр. Данные методы являются очень гибким инструментом: методом их переопределения можно добиться значительного изменения поведения нужного объекта.
Различные экземпляры класса формируются с помощью слова new, обращение к методам и полям объекта происходят с применением оператора ->. Для получения доступа к членам класса из его собственных методов используется специальная переменная $this. Эти функции очень удобны для разработчиков.