РНР и ООП
Хотя РНР обладает общими объектно-ориентированными возможностями, он не является полноценным ОО-языком (например, таким, как C++ или Java). В частности, в РНР не поддерживаются следующие объектно-ориентированные возможности:
- множественное наследование;
- автоматический вызов конструкторов (если вы хотите, чтобы при конструировании объекта производного класса вызывался конструктор базового класса, вам придется вызвать его явно);
- абстрактные классы;
- перегрузка методов;
- перегрузка операторов (это связано с тем, что РНР является языком со свободной типизацией, — за дополнительной информацией обращайтесь к главе 2);
- закрытый и открытый доступ, виртуальные функции;
- деструкторы;
- полиморфизм.
Но и без
всего перечисленного вы все равно сможете
извлечь пользу из объектно-ориентированных
возможностей, поддерживаемых РНР.
Реализация ООП в РНР оказывает
колоссальную помощь в модульном оформлении
функциональности вашей программы.