Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




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

Возникновение объектно-ориентированного программирования связано с ответом на вопрос: «что главное в программе – алгоритм или данные, которые он обрабатывает»? Вначале, когда компьютер умел работать только с числами, главным был алгоритм. Однако, по мере роста абстрактности данных (символы, строки, массивы, множества, звук, изображение) ошибки стали возникать из-за того, что правильный алгоритм применяли к неправильным (несоответствующим) данным. Стало ясно, что данные должны как-то храниться вместе с фрагментами алгоритма для их обработки. Так возникло понятие объекта.

Объект – это комбинация из данных и процедур для работы с этими данными. Данные в этом случае называются полями или свойствами, а процедуры – методами объекта. Метод является процедурой или функцией, объявленной внутри объекта и жестко ограниченной этим объектом.

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

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

Наследник не может удалить родительские методы, но можно их перекрыть, т.е. выполнять каким-либо иным способом (т.е. можно заново описать какой-то из родительских методов).

Наследование как раз и позволяет выполнить какие-то стандартные процедуры немного по-другому, например, рисовать похожие, но разные окна, наследуя их от одного окна.

Третий принцип ООП – полиморфизм – возможность для каждого объекта иерархии выполнить одно и то же действие, но по-своему. Например, высветить объект «точка», объект «окно», и т.д.

Итак, в основе ООП лежат три основных понятия:

· инкапсуляция (сокрытие данных в классе или методе);

· наследование;

· полиморфизм.

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

Наследование – это процесс, в результате которого один тип наследует свойства другого типа.

Полиморфизм – это концепция, позволяющая иметь различные реализации для одного и того же метода, которые будут выбираться в зависимости от типа объекта, переданного методу при вызове.

Объектно-ориентированное программирование – очень мощный метод при разработке больших программ, резко возрастает КПД работы программиста и снижается количество ошибок. Для большинства языков были созданы большие библиотеки готовых объектов. Практически все современные языки программирования, независимо от принадлежности к тому или иному стилю (императивному или декларативному), поддерживают концепцию ООП. Среди них Delphi, C++, Java, Ruby и Haskell. Существуют и версии объектно-ориентированного Пролога (например, Visual Prolog).

В языках С++, Delphi сменилась терминология: иерархии объектов называются классами, а сами объекты – экземплярами классов.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных