Før vi diskuterer forskellen mellem OOP og POP, lad os først se på nogle grundlæggende koncepter i programmeringsprocessen. Der er mange forskellige tilgange til en programmeringsproces, når man bygger løsninger til forskellige typer problemer ved hjælp af programmering. Disse tilgange kaldes programmeringsparadigmer. De fleste programmeringssprog falder ind under et paradigme, men der kan være sprog, der har elementer af flere paradigmer. Objektorienteret programmering (OOP) og procedureorienteret programmering (POP) er to sådanne programmeringsparadigmer. Disse to paradigmer adskiller sig hovedsageligt på grund af de abstraktioner, de skaber, når de designer en løsning. En abstraktion i en programmeringsmetode adskiller informationens relevans fra brugerens perspektiv vigtigste forskel mellem POP og OPP er det POP opretter og bruger proceduremæssige abstraktioner mens OOP fokuserer på dataabstraktioner.
Objektorienteret programmering (OOP) er baseret på to hovedkoncepter; genstande og klasser. Objekter er strukturer, der indeholder både data og procedurer til drift af disse data. Disse objekter kan bruges til at modellere enheder i den virkelige verden. Objekter har to egenskaber; tilstand og adfærd. Klasser definerer dataformater og procedurer for en given type eller en klasse af objekter. Med andre ord er en klasse en plan af et objekt.
OOP-tilgang fokuserer hovedsageligt på data snarere end på algoritmen til håndtering af data. Da både data og funktioner, der håndterer disse data, er samlet i objekter, kan der ikke foretages ændringer på dataene af eksterne funktioner. Det vil sige at dataene til et objekt ikke kan fås ved hjælp af funktioner fra et andet objekt. Dette sikrer sikkerheden for et programs data. Men funktioner af et objekt får muligvis adgang til funktioner fra et andet objekt, der tillader objekterne at kommunikere med hinanden. Denne påkaldelse af metoder til et objekt ved hjælp af metoder til et andet objekt er kendt som meddelelsesafvikling.
OOP-programmering har fire hovedfunktioner; abstraktion, indkapsling, polymorfisme og arv. Formålet med abstraktion er kun at vise relevant information til en bruger, så kompleksiteten af et problem reduceres. Indkapsling er lokaliseringen af oplysninger inden for et objekt. Processen, hvor en klasse erhverver egenskaber og funktionaliteter i en anden klasse, er kendt som arv. polymorfi er funktionen i en funktion, der har mange underskrifter eller et objekt, der opfører sig på mange forskellige måder.
OOP understøtter også høj modularitet. Tilføjelse af nye funktioner eller data kræver ikke ændring af det komplette program. Det kan ganske enkelt gøres ved at oprette et nyt objekt, da objekter er uafhængige til at erklære og definere. OOP kan således være effektiv og med høj produktivitet.
I betragtning af programmeringsdesignet følger OOP en bottom-up tilgang. Nogle populære OOP-sprog er Java, Python, Perl, VB.NET og C++.
Python er et populært OOP-sprog.
Procedure Oriented Programming (POP) betragter problemet som en række af ting, der skal gøres, og er baseret på begrebet procedurekald. Programmer er opdelt i mindre sektioner kaldet procedurer - også kendt som rutiner, subroutiner, metoder eller funktioner. Procedurer lægger vægt på algoritmen for, hvad der skal gøres i et program. Det vil sige, en procedure indeholder en række beregningstrin, der skal udføres. Da disse funktioner er handlingsorienterede, kan brug af POP-sprog undertiden vise sig at være vanskeligt, når man modellerer problemer i den virkelige verden.
POP fokuserer mere på at skrive en liste med instruktioner til at informere computeren, hvad de skal gøre trin for trin. Mindre opmærksomhed rettes mod de data, der er knyttet til programmet. Data kan videregives mellem procedurerne, og hver procedure omdanner dataene fra en form til en anden. De fleste af dataene er globale og kan tilgås frit fra enhver funktion i systemet. Og da POP ikke understøtter effektive teknikker til at skjule dataene, kan programmet muligvis være usikkert. Nogle funktioner kan have deres egne lokale data.
I POP kan det være vanskeligt at identificere, hvilke data der bruges til hvilke funktioner til tider, da globale data stort set deles mellem funktioner. I tilfælde af at de eksisterende data skal ændres, skal alle de funktioner, der har fået adgang til disse data, også blive revideret. Dette kan påvirke hele programmet, og fejl og fejl kan overflade.
I betragtning af programmeringsdesignet anvender POP-sprog en top-down tilgang. Da POP-sprog udtrykkeligt henviser til tilstanden i eksekveringsmiljøet, kaldes de også tvingende sprog. Eksempler på sådanne POP-sprog er COBOL, Pascal, FORTRAN og C-sprog.
C er et populært POP-sprog.
OOP: Objektorienteret programmering er et programmeringsparadigme, der fokuserer på dataabstraktioner.
POP: Procedurorienteret programmering er et programmeringsparadigme, der fokuserer på proceduremæssige abstraktioner.
OOP: I OOP-tilgang er programmer opdelt i dele kendt som objekter.
POP: i POP-tilgang er programmer opdelt i funktioner.
OOP: Hovedfokus for OOP er på de data, der er knyttet til programmet.
POP: Hovedfokus for POP er på de procedurer og algoritmer, der manipulerer dataene.
OOP: OOP Følger en bottom-up tilgang.
POP: POP Følger en top-down tilgang.
OOP: I OOP kontrollerer hvert objekt data inden for det.
POP: I POP bruger de fleste funktioner globale data.
OOP: I OOP kan der kun fås adgang til data om et objekt med funktionerne i det bestemte objekt.
POP: I POP kan data bevæge sig frit fra funktion til funktion.
OOP: OOP har adgangsspecifikationer såsom Public, Private osv.
POP: POP har ingen adgangsspecifikationer.
OOP: Da OOP leverer data skjul, er data, der er knyttet til programmet, sikre.
POP: POP giver ingen data skjulmetoder. Derfor er dataene mindre sikre.
OOP: OOP giver nemme og effektive måder at tilføje nye data og funktioner uden at revidere eksisterende program.
POP: Hvis der skal tilføjes nye data eller funktioner i POP, skal det eksisterende program revideres.
OOP: C ++, Java, VB.NET, C # .NET osv. Bruges af OOP.
POP: FORTRAN, Pascal, C, VB, COBOL osv. Bruges af POP.
Billed høflighed: “Python logo og wordmark” af www.python.org - https://www.python.org/community/logos/.(GPL) via Commons “C Programming Language logo” af Rezonansowy - Denne fil blev afledt fra: C-programmeringssprog, første udgave Cover.svg. (Public Domain) via Commons