Strukturēta programmēšana pret objektu orientētu programmēšanu
Objektorientētā programmēšana (OOP) un strukturētā programmēšana ir divas programmēšanas paradigmas. Programmēšanas paradigma ir pamata programmēšanas stils. Programmēšanas paradigmas atšķiras ar to, kā tiek attēlots katrs programmu elements un kā tiek definēti soļi problēmu risināšanai. Kā norāda nosaukums, OOP koncentrējas uz problēmu attēlošanu, izmantojot reālās pasaules objektus un to uzvedību, savukārt strukturētā programmēšana nodarbojas ar programmas organizēšanu loģiskā struktūrā.
Kas ir strukturētā programmēšana?
Tiek pieņemts, ka strukturētās programmēšanas dzimšanas gads ir 1970. Strukturētā programmēšana tiek uzskatīta par obligātās programmēšanas apakškopu. Strukturētu programmu veido vienkāršas hierarhiski organizētas programmu plūsmas struktūras. Tās ir secība, atlase un atkārtošana. Secība ir paziņojumu secība. Atlase nozīmē paziņojuma izvēli no paziņojumu kopas, pamatojoties uz pašreizējo programmas stāvokli (piemēram, izmantojot, ja paziņojumi tiek izmantoti), un atkārtošana nozīmē paziņojuma izpildīšanu, līdz tiek sasniegts noteikts stāvoklis (piemēram, lietojot paziņojumiem vai to laikā). ALGOL, Pascal, Ada un PL / I ir dažas no strukturētajām programmēšanas valodām, kuras mūsdienās lieto.
Kas ir uz objektu orientēta programmēšana?
OOP uzmanības centrā ir domāšana par risināmo problēmu reālās pasaules elementu izteiksmē un problēmas attēlošana attiecībā uz objektiem un to izturēšanos. Klases attēlo reālas pasaules objektu abstraktus attēlojumus. Klases ir kā plāni vai veidnes, kurās apkopoti līdzīgi priekšmeti vai lietas, kuras var sagrupēt. Klasēm ir īpašības, ko sauc par atribūtiem. Atribūti tiek ieviesti kā globālie un instanču mainīgie. Klases metodes atspoguļo vai nosaka šo klašu izturēšanos. Nodarbību metodes un atribūtus sauc par klases dalībniekiem. Klases instanci sauc par objektu. Tāpēc objekts ir datu struktūra, kas ļoti līdzinās kādam reālās pasaules objektam.
Ir vairāki svarīgi OOP jēdzieni, piemēram, datu abstrakcija, iekapsulēšana, polimorfisms, ziņojumapmaiņa, modulārais raksturs un mantojums. Parasti iekapsulēšana tiek panākta, padarot atribūtus privātus, vienlaikus izveidojot publiskas metodes, kuras var izmantot, lai piekļūtu šiem atribūtiem. Mantojums ļauj lietotājam paplašināt klases (sauktas par apakšklasēm) no citām klasēm (ko sauc par superklases). Polimorfisms ļauj programmētājam aizstāt klases objektu tās superklases objekta vietā. Parasti problēmas definīcijā atrodamie lietvārdi programmā tieši kļūst par klasēm. Un līdzīgi darbības vārdi kļūst par metodēm. Dažas no populārākajām OOP valodām ir Java un C #.
Kāda ir atšķirība starp strukturētu programmēšanu un objektorientētu programmēšanu?
Galvenā atšķirība starp strukturēto programmēšanu un OOP ir tā, ka strukturētās programmēšanas uzmanības centrā ir programmas strukturēšana apakšprogrammu hierarhijā, savukārt OOP uzmanības centrā ir programmēšanas uzdevuma sadalīšana objektos, kas satur datus un metodes. OOP tiek uzskatīts par elastīgāku nekā strukturētu programmēšanu, jo OOP programmu nodala apakšsistēmu tīklā, nevis strukturē programmu hierarhijā. Kaut arī strukturēšana nodrošina noteiktu skaidrību, nelielas izmaiņas ļoti lielā strukturētā programmā var izraisīt pulsācijas efektu, jo jāmaina vairākas apakšprogrammas.