Struktureeritud programmeerimine vs objektorienteeritud programmeerimine
Objektorienteeritud programmeerimine (OOP) ja struktureeritud programmeerimine on kaks programmeerimise paradigmat. Programmeerimisparadigma on arvutiprogrammeerimise põhistiil. Programmeerimisparadigmad erinevad programmide iga elemendi esindatuse ja probleemide lahendamise etappide määratlemise poolest. Nagu nimigi ütleb, keskendub OOP probleemide esindamisele reaalainete objektide ja nende käitumise abil, samas kui struktureeritud programmeerimine tegeleb programmi korraldamisega loogilises struktuuris.
Mis on struktureeritud programmeerimine??
Eeldatakse, et struktureeritud programmeerimise sünniaasta on 1970. Struktureeritud programmeerimist peetakse hädavajaliku programmeerimise alamrühmaks. Struktureeritud programm koosneb lihtsatest programmivoo struktuuridest, mis on hierarhiliselt korraldatud. Need on järjestus, valik ja kordus. Järjestus on avalduste järjekord. Valimine tähendab avalduse valimist avalduste komplektist, mis põhineb programmi hetkeseisul (nt kui kasutatakse avaldusi) ja kordus tähendab avalduse täitmist, kuni teatud olek on saavutatud (nt avalduste jaoks või nende ajal). ALGOL, Pascal, Ada ja PL / I on mõned tänapäeval kasutatavad struktureeritud programmeerimiskeeled.
Mis on objektorienteeritud programmeerimine?
OOP-is keskendutakse lahendatava probleemi mõtlemisele reaalse maailma elementide osas ning probleemi esindamisele objektide ja nende käitumise osas. Klassid kujutavad reaalmaailma objektide abstraktseid kujutisi. Klassid on nagu joonised või mallid, kuhu kogutakse sarnaseid objekte või asju, mida saab grupeerida. Klassidel on omadused, mida nimetatakse atribuutideks. Atribuute rakendatakse globaalsete ja esinemismuutujatena. Klasside meetodid tähistavad või määratlevad nende klasside käitumist. Klasside meetodeid ja atribuute nimetatakse klassi liikmeteks. Klassi eksemplari nimetatakse objektiks. Seetõttu on objekt andmestruktuur, mis sarnaneb väga mõne reaalse objektiga.
On mitmeid olulisi OOP-kontseptsioone, näiteks andmete abstraktsioon, kapseldamine, polümorfism, sõnumside, modulaarsus ja pärimine. Tavaliselt saavutatakse kapseldamine atribuutide privaatseks muutmisega, luues samal ajal avalikud meetodid, mida saab kasutada nendele atribuutidele juurdepääsu saamiseks. Pärimine võimaldab kasutajal laiendada klasse (nn alamklasse) teistest klassidest (nn superklassid). Polümorfism võimaldab programmeerijal oma superklassi objekti asemel asendada klassi objekt. Tavaliselt muutuvad probleemi määratlusest leitud nimisõnad programmis vahetult klassideks. Ja samamoodi saavad verbidest meetodid. Mõned kõige populaarsemad OOP keeled on Java ja C #.
Mis vahe on struktureeritud programmeerimisel ja objektorienteeritud programmeerimisel??
Peamine erinevus struktureeritud programmeerimise ja OOP-i vahel on see, et struktureeritud programmeerimise keskmes on programmi struktureerimine alamprogrammide hierarhiasse, samas kui OOP-i eesmärk on jaotada programmeerimisülesanne objektideks, mis kapseldavad andmeid ja meetodeid. OOP-i peetakse paindlikumaks kui struktureeritud programmeerimist, kuna OOP eraldab programmi alamsüsteemide võrku, mitte ei struktureeri programmi hierarhiasse. Ehkki struktureerimine annab teatud selguse, võib väike muudatus väga suure struktureeritud programmi jaoks põhjustada mitme alamprogrammi muutmise pulseeriva efekti.