Разлика между OOP и POP

Автор: Laura McKinney
Дата На Създаване: 2 Април 2021
Дата На Актуализиране: 17 Може 2024
Anonim
Оп и Боб — Сборник мультиков Разница для малышей — Все серии подряд (60 минут)
Видео: Оп и Боб — Сборник мультиков Разница для малышей — Все серии подряд (60 минут)

Съдържание


Програмно ориентирано програмиране (POP) и Обектно-ориентирано програмиране (OOP) и двата са подходите за програмиране, който използва език на високо ниво за програмиране. Една програма може да бъде написана и на двата езика, но ако задачата е много сложна, OOP работи добре в сравнение с POP. В POP „сигурността на данните“ е изложена на риск, тъй като данните свободно се движат в програмата, както и „повторно използване на кода“ не се постига, което прави програмирането дълго и трудно за разбиране.

Големите програми водят до повече грешки и това увеличава времето за отстраняване на грешки. Всички тези недостатъци водят до нов подход, а именно „обектно-ориентирано програмиране“. При обектно-ориентираното програмиране основната грижа се дава на „сигурност на данните"; тя свързва данните отблизо с функциите, които работят върху него. Той също така решава проблема с „повторно използване на код“, Сякаш клас е създаден, могат да бъдат създадени множество негови инстанции (обекти), които да използват повторно функциите на членове и членове, определени от клас.


Има някои други разлики, които могат да бъдат обяснени с помощта на сравнителна диаграма.

    1. Сравнителна диаграма
    2. дефиниция
    3. Ключови разлики
    4. Предимства
    5. Недостатъци
    6. заключение


Сравнителна диаграма

Основа за сравнениеPOPобектно-ориентиран
Основен
Ориентирана към процедурата / структурата.
Обектно ориентиран.
подход Отгоре надолу.Отдолу нагоре.
основаОсновният акцент е върху "как да свършим задачата", т.е. върху процедурата или структурата на програмата.Основен акцент е върху сигурността на данните. Следователно, само обекти могат да имат достъп до съществата от клас.
деленеГоляма програма е разделена на единици, наречени функции.Цялата програма е разделена на обекти.
Режим на достъп на субектаНе се наблюдава спецификатор за достъп.
Спецификаторите за достъп са "обществени", "частни", "защитени".
Претоварване / полиморфизъмНито претоварва функции, нито оператори.Той претоварва функции, конструктори и оператори.
наследяванеТяхното не е предоставяне на наследство.Наследяването, постигнато в три режима публично частен и защитен.
Скриване на данни и сигурностНяма правилен начин за скриване на данните, така че данните са несигурни Данните са скрити в три режима - обществен, частен и защитен. следователно сигурността на данните се увеличава.
Споделяне на данниГлобалните данни се споделят между функциите в програмата.Данните се споделят между обектите чрез функциите на членове.
Функции / класове за приятелНяма концепция за функция на приятел.Класовете или функциите могат да станат приятел на друг клас с ключовата дума "приятел".
Забележка: Ключовата дума „приятел“ се използва само в c ++
Виртуални класове / функцияНяма концепция за виртуални класове.Понятие за виртуална функция се появява по време на наследяването.
пример C, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.


Определение на обектно-ориентирано програмиране (OOP)

Основната грижа на OOP е да скрие данните от нечленуващи функции на клас, който третира като „критична информация“. Данните са тясно свързани с функциите на членове на клас, който работи върху него. Не позволява на която и да е функция, която не е член, да променя данните вътре в нея. Обектите си взаимодействат помежду си чрез функции на членове за достъп до техните данни.

OOP е разработен върху основната концепция за „обект“, „класове“, „капсулиране или абстракция на данни“, „наследяване“ и „Полиморфизъм / претоварване“. В OOP програмите могат да бъдат разделени на модули чрез разделяне на данни и функции, които по-нататък могат да се използват като шаблони за създаване на нови копия на модули, ако е необходимо. Следователно, това е подход, който улеснява модулирането на програми чрез изграждане на разделена зона за памет за данни и функции.

Обектно-ориентирани понятия

  • обекти: Счита се за променлива от тип клас и екземпляр от клас.
  • клас: Това е набор от обекти от подобен тип. Пълен набор от данни и код на обект създава определен от потребителя тип данни чрез използване на клас.
  • Абстракция на данни и капсулиране: Абстракцията не е нищо друго освен метод за скриване на фоновите детайли и представяне на съществени характеристики. Капсулирането е метод за пакетиране на данни и функции в едно цяло.
  • наследяване: Наследяването е техника за придобиване на характеристики на обекти от един клас в други клас обекти. С други думи, той помага при извличане на нов клас от съществуващия.
  • полиморфизъм: Полиморфизмът предоставя метод за създаване на множество форми на функция, като се използва едно име на функция.
  • Динамично свързване: Той уточнява, че кодът, свързан с определена процедура, не е известен до момента на разговора по време на изпълнение.
  • преминаване: Тази концепция OOP позволява взаимодействие между различни класове чрез предаване и получаване на информация.

Определение на процедурно ориентирано програмиране

POP е конвенционален начин на програмиране. Процедурното програмиране е мястото, където основният акцент е върху изпълнението на задачата в последователен ред. Блок-схемата организира потока на контрол на програмата. Ако програмата е обширна, тя е структурирана в някои малки единици, наречени функции, които споделят глобални данни. Тук възниква опасението за сигурността на данните, тъй като има неволна промяна в програмата по функции.

POP характеристики

  • Докато проектира програма, POP следва подхода за програмиране отгоре надолу.
  • По-голямата част от функциите позволяват споделяне на глобални данни.
  • Той също така разделя по-големи програми на по-малки части, наречени като функции.
  • Той позволява свободно движение на данни из системата от функции към функции.
  • Данните се трансформират от функциите от една форма в друга.
  • Придава значение на концепцията за функциите.
  1. POP е програмно-ориентирано програмиране, докато OOP е обектно-ориентирано програмиране.
  2. Основният акцент на POP е върху „как да свършим задачата“Следва диаграмата за изпълнение на задачата. Основният акцент на OOP е върху сигурност на данните тъй като само на обектите от клас е разрешен достъп до атрибутите или функциите на клас.
  3. Най- функции са малки единици от големите програми или подпрограма, които се изпълняват, за да се изпълни основната задача. За разлика от това, OOP атрибутите и функциите на класа са разделени между обекти.
  4. В POP няма специфичен режим за достъп за достъп до атрибути или функции в програмата. Обратно, в OOP има три режима за достъп „обществен“, „частен“, „защитен“, които се използват като метод за достъп за достъп до атрибути или функции.
  5. POP не поддържа концепцията за претоварване / полиморфизъм. Напротив, OOP поддържа Overloading / Polymorphism, което означава използването на едно и също име на функция за изпълнение на различни функции. Ние можем да претоварваме функции, конструктор и оператори в OOP.
  6. В POP няма понятие за наследяване, докато OOP поддържа наследяване, което позволява използването на атрибута и функциите на друг клас чрез наследяването му.
  7. POP е по-малко сигурен в сравнение с OOP, тъй като в OOP спецификаторът за достъп ограничава достъпа до атрибути или функции, които увеличават сигурността.
  8. В POP, ако някои данни трябва да бъдат споделени между всички функции в програмата, тя се декларира глобално извън всички функции. Докато в OOP членът на данните от класа може да бъде достъпен чрез функциите-членове на класа.
  9. В POP няма концепция за функцията приятел. Обратно, в OOP има концепция за функция приятел, която не е член на класа, но тъй като е член приятел, той може да получи достъп до данните и член функции на класа.
  10. В POP няма концепция за виртуални класове, докато в OOP виртуалните функции поддържат полиморфизъм.

Предимства

POP (Програмно ориентирано програмиране)

  • Предоставя възможност за повторно използване на един и същ код на различни места.
  • Улеснява проследяването на програмния поток.
  • Възможност за конструиране на модули.

OOP (обектно-ориентирано програмиране)

  • Обектите помагат при разделянето на задачите в проекта.
  • Сигурните програми могат да бъдат изградени с помощта на скриване на данни.
  • Той потенциално може да картографира обектите.
  • Активира категоризацията на обектите в различни класове.
  • Обектно-ориентираните системи могат да се надграждат без усилия.
  • Излишните кодове могат да бъдат елиминирани с помощта на наследяване.
  • Кодовете могат да бъдат разширени с помощта на многократна употреба.
  • Може да се постигне по-голяма модулност.
  • Абстрахирането на данни увеличава надеждността.
  • Гъвкаво благодарение на концепцията за динамично свързване.
  • Декупаж на основната спецификация от прилагането му чрез използване на скриване на информация.

Недостатъци

POP (Програмно ориентирано програмиране

  • Глобалните данни са уязвими.
  • Данните могат да се движат свободно в рамките на дадена програма
  • Трудно е да се провери позицията на данните.
  • Функциите са ориентирани към действие.
  • Функциите не могат да се свързват с елементите на проблема.
  • Проблемите в реалния свят не могат да бъдат моделирани.
  • Части от код са взаимозависими.
  • Един код на приложение не може да се използва в друго приложение.
  • Данните се прехвърлят с помощта на функциите.

OOP (обектно-ориентирано програмиране)

  • Това изисква повече ресурси.
  • Динамичното поведение на обекти изисква съхранение на RAM памет.
  • Откриването и отстраняването на грешки е по-трудно в сложни приложения, когато се извършва преминаването.
  • Наследяването прави класовете им плътно свързани, което се отразява на повторната употреба на обектите.

заключение

Пропуските на POP възникват необходимостта от OOP. OOP коригира недостатъците на POP, като въвежда понятията „обект“ и „класове“. Подобрява сигурността на данните и автоматично инициализиране и изчистване на обекти. OOP дава възможност за създаване на няколко екземпляра на обекта без никаква намеса.