Конспект по начертательной
геометрии
Начертательная геометрия
Практикум решения задач
Геометрические основы
Инженерная графика
ЕСКД
Каталог графических примеров
Архитектура ЭВМ
Информатика и
информационные технологии
Конспект лекций по ядерной физике
ТОЭ
Физические законы механики
Волны оптика
Электротехника
Общая электротехника
Решение задач по
электротехнике
Язык программирования
MATLAB
Расчет электрических цепей
Моделирование цепей
переменного тока
Дифференциальные уравнения
Вычислительныe системы
Вычислительные комплексы
Электротехнические материалы
Теория конструктивных
материалов
Учебник PHP
Турбо Паскаль
Встроенный ассемблер
Turbo Vision
Java
Примеры программирования
на Java
Примеры скриптов
История искусства 18-19 век
Объектно-ориентированные возможности РНР

ГЛАВА 6

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

Стратегию ООП лучше всего описать как смещение приоритетов в процессе программирования от функциональности приложения к структурам данных. Это позволяет программисту моделировать в создаваемых приложениях реальные объекты и ситуации. Технология ООП обладает тремя главными преимуществами:

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

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

РНР и ООП

Хотя РНР обладает общими объектно-ориентированными возможностями, он не является полноценным ОО-языком (например, таким, как C++ или Java). В частности, в РНР не поддерживаются следующие объектно-ориентированные возможности:

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

Начертательная геометрия и инженерная графика, перспектива