Чем принципиально отличается процедурное и объектно-ориентированное программирование?

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

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

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

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

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

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

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

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

Источник:

https://codernet.ru/books/c_plus/samouchitel_c_s_primerami_i_zadachami_aleksandr_vasilev/

https://www.examclouds.com/ru/java/java-core-russian/metodiki-programmirovanija

http://digitrode.ru/articles/8-raznica-mezhdu-procedurno-orientirovannym-i-obektno-orientirovannym-programmirovaniem.html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *