Создай собственный wiki-сайт или wiki-страницу на Вавилон.wiki!

Все желающие приглашаются к активному участию в проекте!

Наш проект открыт для любых форм сотрудничества .

Объектно-ориентированное программирование

Из проекта Викизнание

Обьектно-ориентированное программирование (ООП) - методология проектирования и разработки программного обеспечения.

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

Между классами могут существовать отношения наследования. Если класс B является наследником класса A, то класс B полностью наследует структуру класса A и может добавлять к ней свои характерные черты. Например, класс "Самолёт" может быть наследником класса "Летательный аппарат", при этом самолёт наследуют все черты летательных аппаратов, но добавляет к ним собственные черты, характерные только для самолётов.

Переменные в программе могут содержать значения разных классов, при этом одно и то же управляющее воздействие на переменную может обрабатываться различным образом, в зависимости от того, к каким объектам оно применяется. Так, например, операция "Сложить" может быть применена к двум переменным a и b. Если переменные содержат объекты-числа, то будет выполнено арифметическое сложение двух чисел и получится числовой результат, а если переменные содержат текстовые строки, то результатом может быть строка, составленная из двух строк-операндов. Эта возможность различного поведения одних и тех же объектов в различных условиях называется полиморфизмом.

Инкапсуляция, наследование и полиморфизм считаются базовыми понятиями, на которых строится технология ООП.

ООП было разработано с целью получения механизма создания больших и сверхбольших программных комплексов, когда выяснилось, что ранее существовавшие методологии программирования не обеспечивают получения качественного результата в разумные сроки из-за прогрессирующего возрастания сложности программного обеспечения. В 80—90 годы 20 века объектный подход стал популярным, появилось множество языков программирования, поддерживающих его в той или иной мере.