Разница между структурным программированием и объектно-ориентированным программированием

Разница между структурным программированием и объектно-ориентированным программированием
Разница между структурным программированием и объектно-ориентированным программированием

Видео: Разница между структурным программированием и объектно-ориентированным программированием

Видео: Разница между структурным программированием и объектно-ориентированным программированием
Видео: Вся суть объектно-ориентированного программирования 2024, Ноябрь
Anonim

Структурное программирование против объектно-ориентированного программирования

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

Что такое структурированное программирование?

Предполагается, что годом рождения структурированного программирования является 1970 год. Структурированное программирование считается подмножеством императивного программирования. Структурированная программа состоит из простых структур потока программы, которые организованы иерархически. Это последовательность, выбор и повторение. Последовательность - это порядок операторов. Выбор означает выбор оператора из набора операторов на основе текущего состояния программы (например, с использованием операторов if), а повторение означает выполнение оператора до тех пор, пока не будет достигнуто определенное состояние (например, с использованием операторов for или while). ALGOL, Pascal, Ada и PL/I - некоторые из языков структурного программирования, используемых сегодня.

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

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

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

В чем разница между структурным программированием и объектно-ориентированным программированием?

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

Рекомендуемые: