Є й інші відмінності, які можна пояснити за допомогою діаграми порівняння.
Діаграма порівняння
Основа для порівняння | POP | ООП |
---|---|---|
Основний | Процедура / Структура орієнтована. | Об'єктно-орієнтований. |
Підхід | З верху до низу. | Знизу вгору. |
Основа | Основний акцент робиться на "як зробити завдання", тобто на процедурі або структурі програми. | Основна увага приділяється «безпеці даних». Отже, до об'єктів класу дозволяється доступ тільки до об'єктів. |
Відділ | Велика програма ділиться на одиниці, звані функціями. | Вся програма ділиться на об'єкти. |
Режим доступу до об'єкта | Не спостерігається специфікатор доступу. | Специфікатором доступу є "публічний", "приватний", "захищений". |
Перевантаження / поліморфізм | Ні функціями перевантаження, ні операторами. | Вона перевантажує функції, конструктори та оператори. |
Успадкування | Їх не передбачено спадкування. | Успадкування досягається в трьох режимах державної приватної і захищеної. |
Приховування даних та безпека | Немає належного способу приховування даних, тому дані є небезпечними | Дані приховані в трьох режимах: громадський, приватний і захищений. отже, підвищується безпека даних. |
Обмін даними | Глобальні дані розподіляються між функціями програми. | Дані розподіляються між об'єктами через функції-члени. |
Функції / класи друзів | Ніякої концепції функції друга. | Класи або функції можуть стати другом іншого класу з ключовим словом "friend". Примітка: ключове слово "friend" використовується тільки в c ++ |
Віртуальні класи / функції | Ні поняття віртуальних класів. | Поняття віртуальної функції з'являється під час успадкування. |
Приклад | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Визначення об'єктно-орієнтованого програмування (ООП)
Основною задачею ООП є приховування даних з нечленуючих функцій класу, який він розглядає як "критична інформація". Дані тісно пов'язані з функціями-членами класу, який працює на ньому. Вона не дозволяє будь-якій функції, яка не є членом, змінювати дані всередині неї. Об'єкти спілкуються один з одним через функції-члени для доступу до своїх даних.
ООП розробляється на основі основного поняття «об'єкт», «класи», «інкапсуляція даних або абстракція», «успадкування», «поліморфізм / перевантаження». У ООП програми можуть бути розділені на модулі шляхом розподілу даних і функцій, які далі можуть використовуватися як шаблони для створення нових копій модулів, якщо це необхідно.
Визначення програмно-орієнтованого програмування (POP)
POP є звичайним способом програмування. Процедурне програмування полягає в тому, що основна увага приділяється отриманню завдання у послідовному порядку. Блок-схема організовує потік управління програмою. Якщо програма велика, вона структурована в деяких невеликих одиницях, які називаються функціями, які поділяють глобальні дані. Тут виникає занепокоєння безпекою даних, оскільки відбувається ненавмисне зміна програми за функціями.
Основні відмінності між ООП і POP
- POP є процедурно орієнтованим програмуванням, тоді як ООП є об'єктно-орієнтованим програмуванням.
- Основний акцент POP полягає в тому, щоб «зробити завдання», щоб отримати завдання. Основна увага ООП зосереджена на захисті даних, оскільки тільки об'єкти класу мають доступ до атрибутів або функцій класу.
- Функції - це невеликі одиниці великих програм, які виконуються для виконання основного завдання. У ООП атрибути і функції класу поділяються між об'єктами.
- У POP не існує спеціального режиму доступу для доступу до атрибутів або функцій у програмі, тоді як в ООП існують три режими доступу "загальнодоступний", "приватний", "захищений", які використовуються як спільний доступ для доступу до атрибутів або функцій .
- POP не підтримує концепцію перевантаження / поліморфізму. ООП підтримує перевантаження / поліморфізм, що означає використання тієї ж назви функції для виконання різних функцій. Ми можемо перевантажувати функції, конструктор і оператори в ООП.
- Не існує поняття успадкування в POP, тоді як OOP підтримує успадкування, що дозволяє використовувати атрибут і функції іншого класу, успадковуючи його.
- POP менш безпечний в порівнянні з ООП, оскільки в ООП специфікатор доступу обмежує доступ до атрибутів або функцій, які підвищують безпеку.
- У POP, якщо деякі дані мають бути розділені між усіма функціями програми, оголошується глобально поза всіма функціями. У ООП доступ до елемента даних класу можна отримати за допомогою функцій-членів класу.
- У POP відсутнє поняття функції друга, тоді як в ООП існує концепція функції друга, яка не є членом класу, а тому, що вона є другом, вона може отримати доступ до членів даних і функцій-членів класу.
- Не існує поняття віртуальних класів у POP, тоді як у ООП віртуальні функції підтримують поліморфізм.
Висновок
Недоліки POP виникають у необхідності ООП. ООП виправляє недоліки POP шляхом введення поняття «об'єкт» і «класи». Це покращує безпеку даних, а також автоматичну ініціалізацію і очищення об'єктів. ООП дозволяє створювати кілька екземплярів об'єкта без будь-яких перешкод.