Gestructureerd programmeren versus objectgeoriënteerd programmeren
Object-Oriented Programming (OOP) en gestructureerde programmering zijn twee programmeerparadigma's. Een programmeerparadigma is een fundamentele stijl van computerprogrammering. Programmeringsparadigma's verschillen in hoe elk element van de programma's wordt weergegeven en hoe stappen worden gedefinieerd voor het oplossen van problemen. Zoals de naam al doet vermoeden, concentreert OOP zich op het weergeven van problemen met het gebruik van objecten uit de echte wereld en hun gedrag, terwijl Gestructureerd programmeren zich bezighoudt met het organiseren van het programma in een logische structuur.
Wat is gestructureerd programmeren?
Aangenomen wordt dat het geboortejaar van Structured Programming 1970 is. Gestructureerde programmering wordt beschouwd als een subset van imperatief programmeren. Een gestructureerd programma bestaat uit eenvoudige programmastromingsstructuren, die hiërarchisch georganiseerd zijn. Het zijn volgorde, selectie en herhaling. Volgorde is een volgorde van verklaringen. Selectie betekent het selecteren van een statement uit een reeks statements op basis van de huidige status van het programma (voor bijvoorbeeld het gebruik van if-statements) en herhaling betekent het uitvoeren van een statement totdat een bepaalde status wordt bereikt (bijvoorbeeld voor gebruik voor of while-statements). ALGOL, Pascal, Ada en PL / I zijn enkele van de gestructureerde programmeertalen die tegenwoordig worden gebruikt.
Wat is Object-Oriented Programming?
In OOP ligt de focus op het nadenken over het probleem dat opgelost moet worden in termen van reële elementen en het probleem representeren in termen van objecten en hun gedrag. Klassen geven de abstracte representaties weer van objecten uit de echte wereld. Klassen zijn als blauwdrukken of sjablonen, die vergelijkbare items of dingen verzamelen die kunnen worden gegroepeerd. Klassen hebben eigenschappen die attributen worden genoemd. Attributen worden geïmplementeerd als globale en instantievariabelen. Methoden in de klassen vertegenwoordigen of definiëren het gedrag van deze klassen. Methoden en kenmerken van klassen worden de leden van de klas genoemd. Een exemplaar van een klasse wordt een object genoemd. Daarom is een object een gegevensstructuur die sterk lijkt op een object uit de echte wereld.
Er zijn verschillende belangrijke OOP-concepten zoals Data abstractie, Encapsulation, Polymorphism, Messaging, Modularity and Inheritance. Doorgaans wordt encapsulatie bereikt door de attributen privé te maken, terwijl openbare methoden worden gecreëerd die kunnen worden gebruikt voor toegang tot die attributen. Met overerving kan de gebruiker klassen (subklassen genoemd) uitbreiden met andere klassen (superklassen genoemd). Polymorfisme stelt de programmeur in staat om een object van een klasse te vervangen in plaats van een object uit zijn superklasse. Doorgaans worden de zelfstandige naamwoorden die in de probleemdefinitie worden gevonden, direct klassen in het programma. En op dezelfde manier worden werkwoorden methoden. Enkele van de meest populaire OOP-talen zijn Java en C #.
Wat is het verschil tussen gestructureerde programmering en objectgeoriënteerde programmering?
Het belangrijkste verschil tussen gestructureerde programmering en OOP is dat de focus van gestructureerde programmering bestaat uit het structureren van het programma in een hiërarchie van subprogramma's, terwijl de focus van OOP ligt op het splitsen van de programmeertaak in objecten, die gegevens en methoden inkapselen. OOP wordt beschouwd als flexibeler dan gestructureerde programmering, omdat OOP een programma scheidt in een netwerk van subsystemen in plaats van het programma in een hiërarchie te structureren. Hoewel structurering enige duidelijkheid biedt, kan een kleine wijziging in een zeer groot gestructureerd programma een rimpeleffect veroorzaken van het moeten veranderen van meerdere subprogramma's.