Forskel mellem struktureret programmering og objektorienteret programmering
Struktureret programmering vs objektorienteret programmering
Objektorienteret programmering (OOP) og Structured Programming er to programmeringsparadigmer. Et programmeringsparadigme er en grundlæggende stil for computerprogrammering. Programmeringsparadigmer er forskellige i, hvordan hvert element af programmerne er repræsenteret, og hvordan trin defineres til løsning af problemer. Som navnet antyder, fokuserer OOP på at repræsentere problemer ved brug af virkelige objekter og deres adfærd, mens Structured Programming omhandler at organisere programmet i en logisk struktur.
Hvad er struktureret programmering?
Det antages, at fødselsåret for struktureret programmering er 1970. Struktureret programmering betragtes som en delmængde af imperativ programmering. Et struktureret program består af simple programflowstrukturer, som er hierarkisk organiseret. De er sekvens, udvælgelse og gentagelse. Sekvens er en rækkefølge af udsagn. Udvælgelse betyder at vælge en erklæring fra et sæt udsagn baseret på programmets aktuelle tilstand (for eksempel ved brug af sætninger) og gentagelse betyder at udføre en erklæring, indtil en bestemt tilstand er nået (for eksempel ved brug af for eller mens udsagn). ALGOL, Pascal, Ada og PL / I er nogle af de strukturerede programmeringssprog, der anvendes i dag.
Hvad er objektorienteret programmering?
I OOP fokuserer man på det problem, der skal løses i forhold til virkelige elementer og repræsenterer problemet med hensyn til objekter og deres adfærd. Klasser skildrer de abstrakte repræsentationer af virkelige verden objekter. Klasser er som tegninger eller skabeloner, der samler lignende elementer eller ting, der kan grupperes sammen. Klasser har egenskaber kaldet attributter. Attributter implementeres som globale og instansvariabler. Metoder i klasserne repræsenterer eller definerer opførelsen af disse klasser. Metoder og attributter af klasser kaldes medlemmerne af klassen. Et eksempel på en klasse kaldes et objekt. Derfor er et objekt en datastruktur, der ligner noget real-world objekt.
Der er flere vigtige OOP-begreber som Data-abstraktion, Encapsulation, Polymorphism, Messaging, Modularity og Arv. Typisk indkapsling opnås ved at gøre attributterne private, samtidig med at der oprettes offentlige metoder, som kan bruges til at få adgang til disse attributter. Arv giver brugeren mulighed for at udvide klasser (kaldet underklasser) fra andre klasser (kaldet superklasser). Polymorfisme giver programmereren mulighed for at erstatte et objekt af en klasse i stedet for et objekt af sin superklasse. Typisk er substantiverne, der findes i problemdefinitionen, direkte blevet klasser i programmet.Og tilsvarende bliver verb'er metoder. Nogle af de mest populære OOP-sprog er Java og C #.
Hvad er forskellen mellem struktureret programmering og objektorienteret programmering?
Nøgleforskellen mellem struktureret programmering og OOP er, at struktureret programmering er at strukturere programmet ind i et hierarki af underprogrammer, mens OOP's fokus er at nedbryde programmeringsopgaven til objekter, der indkapsler data og metoder. OOP betragtes som mere fleksibel end struktureret programmering, fordi OOP adskiller et program ind i et netværk af delsystemer frem for at strukturere programmet ind i et hierarki. Selvom strukturering giver en vis klarhed, kan en lille ændring i et meget stort struktureret program forårsage en krusningseffekt ved at skulle skifte flere delprogrammer.