Structured Programming vs Object Oriented Programming
Ang Object Oriented Programming (OOP) at Structured Programming ay dalawang paradigm sa programming. Ang isang programming paradigm ay isang pangunahing istilo ng computer programming. Ang mga paradigma sa pagprograma ay naiiba sa kung paano kinakatawan ang bawat elemento ng mga programa at kung paano tinukoy ang mga hakbang para sa paglutas ng mga problema. Gaya ng ipinahihiwatig ng pangalan, nakatuon ang OOP sa pagrepresenta ng mga problema gamit ang mga real-world na bagay at ang pag-uugali ng mga ito, habang ang Structured Programming ay tumatalakay sa pagsasaayos ng programa sa isang lohikal na istraktura.
Ano ang Structured Programming?
Ipinapalagay na ang taon ng kapanganakan ng Structured Programming ay 1970. Ang structured programming ay itinuturing na isang subset ng imperative programming. Ang isang nakabalangkas na programa ay binubuo ng mga simpleng istruktura ng daloy ng programa, na hierarchically organisado. Ang mga ito ay pagkakasunod-sunod, pagpili at pag-uulit. Ang sequence ay isang pagkakasunod-sunod ng mga pahayag. Ang ibig sabihin ng pagpili ay ang pagpili ng isang pahayag mula sa isang set ng mga pahayag batay sa kasalukuyang estado ng programa (para sa hal. paggamit ng mga pahayag na kung) at ang pag-uulit ay nangangahulugan ng pagpapatupad ng isang pahayag hanggang sa maabot ang isang partikular na estado (para sa hal. paggamit ng para sa o habang mga pahayag). Ang ALGOL, Pascal, Ada at PL/I ay ilan sa mga structured programming language na ginagamit ngayon.
Ano ang Object Oriented Programming?
Sa OOP, ang focus ay sa pag-iisip tungkol sa problemang lulutasin sa mga tuntunin ng mga real-world na elemento at kumakatawan sa problema sa mga tuntunin ng mga bagay at kanilang pag-uugali. Inilalarawan ng mga klase ang mga abstract na representasyon ng mga bagay sa totoong mundo. Ang mga klase ay tulad ng mga blueprint o template, na kumukuha ng mga katulad na item o bagay na maaaring pagsama-samahin. Ang mga klase ay may mga katangian na tinatawag na mga katangian. Ang mga katangian ay ipinapatupad bilang mga global at instance na variable. Ang mga pamamaraan sa mga klase ay kumakatawan o tumutukoy sa pag-uugali ng mga klase na ito. Ang mga pamamaraan at katangian ng mga klase ay tinatawag na mga miyembro ng klase. Ang isang halimbawa ng isang klase ay tinatawag na isang bagay. Samakatuwid, ang isang bagay ay isang istraktura ng data na malapit na kahawig ng ilang bagay sa totoong mundo.
May ilang mahahalagang konsepto ng OOP gaya ng Data abstraction, Encapsulation, Polymorphism, Messaging, Modularity at Inheritance. Karaniwan, nakakamit ang encapsulation sa pamamagitan ng paggawa ng mga katangian na pribado, habang gumagawa ng mga pampublikong pamamaraan na maaaring magamit upang ma-access ang mga katangiang iyon. Ang inheritance ay nagbibigay-daan sa user na mag-extend ng mga klase (tinatawag na mga sub class) mula sa ibang mga klase (tinatawag na super class). Pinapayagan ng polymorphism ang programmer na palitan ang isang object ng isang klase sa halip na isang object ng super class nito. Karaniwan, ang mga pangngalan na matatagpuan sa kahulugan ng problema ay direktang nagiging mga klase sa programa. At gayundin, ang mga pandiwa ay nagiging mga pamamaraan. Ang ilan sa mga pinakasikat na wika ng OOP ay ang Java at C.
Ano ang pagkakaiba ng Structured Programming at Object Oriented Programming?
Ang pangunahing pagkakaiba sa pagitan ng Structured Programming at OOP ay ang focus ng Structured Programming ay ang istraktura ng program sa isang hierarchy ng mga subprogram habang, ang focus ng OOP ay ang paghiwa-hiwalayin ang programming task sa mga object, na sumasaklaw sa datos at pamamaraan. Itinuturing na mas flexible ang OOP kaysa sa structured programming, dahil pinaghihiwalay ng OOP ang isang program sa isang network ng mga subsystem sa halip na i-structure ang program sa isang hierarchy. Kahit na ang pag-istruktura ay nagbibigay ng tiyak na kalinawan, ang isang maliit na pagbabago sa isang napakalaking structured na programa ay maaaring magdulot ng ripple effect ng pagkakaroon ng pagbabago ng maraming subprogram.