Существуют и другие отличия, которые можно объяснить с помощью сравнительной таблицы.
Сравнительная таблица
Основа Для сравнения | POP | OOP |
---|---|---|
основной | Процедура / структура ориентирована. | Объектно-ориентированный. |
Подход | Низходящий. | Вверх дном. |
основа | Основное внимание уделяется «как выполнить задачу», т. Е. Процедуре или структуре программы. | Основное внимание уделяется «безопасности данных». Следовательно, только объектам разрешен доступ к объектам класса. |
разделение | Большая программа делится на блоки, называемые функциями. | Вся программа делится на объекты. |
Режим доступа к объекту | Спецификатор доступа не наблюдается. | Спецификаторы доступа: «открытый», «закрытый», «защищенный». |
Перегрузки / Полиморфизм | Ни перегружает функции, ни операторы. | Он перегружает функции, конструкторы и операторы. |
наследование | Их не предоставление наследства. | Наследование достигается в трех публичных и охраняемых режимах. |
Сокрытие данных и безопасность | Нет правильного способа скрыть данные, поэтому данные небезопасны | Данные скрыты в трех режимах: публичном, частном и защищенном. следовательно безопасность данных увеличивается. |
Обмен данными | Глобальные данные распределяются между функциями в программе. | Данные распределяются между объектами через функции-члены. |
Функции / классы друзей | Нет понятия функции друга. | Классы или функции могут стать друзьями другого класса с ключевым словом «друг». Примечание: ключевое слово "друг" используется только в C ++ |
Виртуальные классы / функции | Нет концепции виртуальных классов. | Понятие виртуальной функции появляется при наследовании. |
пример | C, VB, Фортран, Паскаль | C ++, JAVA, VB.NET, C # .NET. |
Определение объектно-ориентированного программирования (ООП)
Основная задача ООП состоит в том, чтобы скрыть данные от функций, не являющихся членами класса, которые он рассматривает как «критическую информацию». Данные тесно связаны с функциями-членами класса, который работает с ним. Это не позволяет любой функции, не являющейся членом, изменять данные внутри нее. Объекты взаимодействуют друг с другом через функции-члены для доступа к своим данным.
ООП разработан на основе базовых концепций «объект», «классы», «инкапсуляция или абстракция данных», «наследование» и «полиморфизм / перегрузка». В ООП программы могут быть разделены на модули путем разделения данных и функций, которые в дальнейшем могут использоваться в качестве шаблонов для создания новых копий модулей, если это необходимо.
Определение процедурно-ориентированного программирования (POP)
POP - это обычный способ программирования. В процедурном программировании основное внимание уделяется выполнению задачи в последовательном порядке. Блок-схема организует поток управления программой. Если программа большая, она структурирована в несколько небольших блоков, называемых функциями, которые совместно используют глобальные данные. Здесь возникает проблема безопасности данных, поскольку в программе происходит непреднамеренное изменение функций.
Ключевые различия между ООП и POP
- POP является процедурно-ориентированным программированием, тогда как OOP является объектно-ориентированным программированием.
- Основное внимание в POP уделяется тому, «как выполнить задачу». Она следует блок-схеме, чтобы выполнить задачу. Основное внимание ООП уделяется безопасности данных, поскольку только объектам класса разрешен доступ к атрибутам или функциям класса.
- Функции представляют собой небольшие блоки больших программ, которые выполняются для выполнения основной задачи. В ООП атрибуты и функции класса делятся между объектами.
- В POP нет специального режима доступа для доступа к атрибутам или функциям в программе, тогда как в ООП есть три режима доступа: «открытый», «частный», «защищенный», которые используются в качестве общего ресурса для доступа к атрибутам или функциям.,
- POP не поддерживает концепцию перегрузки / полиморфизма. ООП поддерживает перегрузку / полиморфизм а, что означает использование одного и того же имени функции для выполнения разных функций. Мы можем перегрузить функции, конструктор и операторы в ООП.
- В POP нет концепции наследования, тогда как ООП поддерживает наследование, которое позволяет использовать атрибут и функции другого класса, наследуя его.
- POP менее безопасен по сравнению с ООП, поскольку в ООП спецификатор доступа ограничивает доступ к атрибутам или функциям, которые повышают безопасность.
- В POP, если некоторые данные должны быть общими для всех функций в программе, объявляется глобально вне всех функций. В ООП к данным-членам класса можно получить доступ через функции-члены класса.
- В POP отсутствует понятие функции-друга, тогда как в ООП существует концепция функции-друга, которая не является членом класса, но, поскольку она является членом-другом, она может получить доступ к функциям-членам и функциям-членам класса.
- В POP нет концепции виртуальных классов, тогда как в ООП виртуальные функции поддерживают полиморфизм.
Заключение
Недостатки СОЗ возникает необходимость ООП. ООП исправляет недостатки POP, вводя понятия «объект» и «классы». Это повышает безопасность данных, а также автоматическую инициализацию и очистку объектов. ООП позволяет создавать несколько экземпляров объекта без какого-либо вмешательства.