Gestruktureerde programmering vs objekgeoriënteerde programmering
Objekgeoriënteerde programmering (OOP) en gestruktureerde programmering is twee programmeringsparadigmas. 'n Programmeringsparadigma is 'n fundamentele styl van rekenaarprogrammering. Programmeringsparadigmas verskil in hoe elke element van die programme voorgestel word en hoe stappe gedefinieer word om probleme op te los. Soos die naam aandui, fokus OOP daarop om probleme voor te stel deur werklike voorwerpe en hul gedrag te gebruik, terwyl gestruktureerde programmering handel oor die organisering van die program in 'n logiese struktuur.
Wat is gestruktureerde programmering?
Daar word aanvaar dat die geboortejaar van gestruktureerde programmering 1970 is. Gestruktureerde programmering word as 'n subset van noodsaaklike programmering beskou. 'n Gestruktureerde program bestaan uit eenvoudige programvloeistrukture, wat hiërargies georganiseer is. Hulle is volgorde, seleksie en herhaling. Volgorde is 'n volgorde van stellings. Seleksie beteken die keuse van 'n stelling uit 'n stel stellings gebaseer op die huidige toestand van die program (vir bv. gebruik van if-stellings) en herhaling beteken om 'n stelling uit te voer totdat 'n sekere toestand bereik word (vir bv. die gebruik van for of while-stellings). ALGOL, Pascal, Ada en PL/I is van die gestruktureerde programmeertale wat vandag gebruik word.
Wat is objekgeoriënteerde programmering?
In OOP is die fokus daarop om te dink oor die probleem wat opgelos moet word in terme van werklike wêreldelemente en om die probleem in terme van voorwerpe en hul gedrag voor te stel. Klasse beeld die abstrakte voorstellings van werklike wêreldobjekte uit. Klasse is soos bloudrukke of sjablone, wat soortgelyke items of dinge versamel wat saam gegroepeer kan word. Klasse het eienskappe wat eienskappe genoem word. Eienskappe word geïmplementeer as globale en instansie veranderlikes. Metodes in die klasse verteenwoordig of definieer die gedrag van hierdie klasse. Metodes en eienskappe van klasse word die lede van die klas genoem. 'n Geval van 'n klas word 'n objek genoem. Daarom is 'n objek 'n datastruktuur wat baie ooreenstem met een of ander werklike wêreldvoorwerp.
Daar is verskeie belangrike OOP-konsepte soos Dataabstraksie, Encapsulation, Polymorphism, Messaging, Modularity and Inheritance. Tipies word inkapseling bereik deur die eienskappe privaat te maak, terwyl openbare metodes geskep word wat gebruik kan word om toegang tot daardie eienskappe te verkry. Oorerwing laat die gebruiker toe om klasse (genoem subklasse) uit ander klasse (genoem superklasse) uit te brei. Polimorfisme laat die programmeerder toe om 'n voorwerp van 'n klas te vervang in die plek van 'n voorwerp van sy superklas. Tipies word die selfstandige naamwoorde wat in die probleemdefinisie gevind word, direk klasse in die program. En insgelyks word werkwoorde metodes. Sommige van die gewildste OOP-tale is Java en C.
Wat is die verskil tussen gestruktureerde programmering en objekgeoriënteerde programmering?
Die sleutelverskil tussen gestruktureerde programmering en OOP is dat die fokus van gestruktureerde programmering is om die program in 'n hiërargie van subprogramme te struktureer, terwyl die fokus van OOP is om die programmeringstaak af te breek in voorwerpe, wat inkapsuleer data en metodes. OOP word as meer buigsaam as gestruktureerde programmering beskou, omdat OOP 'n program in 'n netwerk van substelsels skei eerder as om die program in 'n hiërargie te struktureer. Alhoewel strukturering sekere duidelikheid verskaf, kan 'n klein verandering aan 'n baie groot gestruktureerde program 'n rimpeleffek veroorsaak van die verandering van verskeie subprogramme.