Programació estructurada vs programació orientada a objectes
La Programació Orientada a Objectes (OOP) i la Programació Estructurada són dos paradigmes de programació. Un paradigma de programació és un estil fonamental de programació d'ordinadors. Els paradigmes de programació es diferencien en com es representa cada element dels programes i com es defineixen els passos per resoldre problemes. Com el seu nom indica, la POO se centra a representar problemes utilitzant objectes del món real i el seu comportament, mentre que la Programació Estructurada s'ocupa d'organitzar el programa en una estructura lògica.
Què és la programació estructurada?
S'assumeix que l'any de naixement de la programació estructurada és l'any 1970. La programació estructurada es considera un subconjunt de la programació imperativa. Un programa estructurat està format per estructures de flux de programes simples, que estan organitzades jeràrquicament. Són seqüència, selecció i repetició. La seqüència és un ordre d'enunciats. La selecció significa seleccionar una instrucció d'un conjunt d'instruccions basades en l'estat actual del programa (per exemple, utilitzar sentències if) i la repetició significa executar una sentència fins que s'arribi a un estat determinat (per exemple, utilitzar sentències for o while). ALGOL, Pascal, Ada i PL/I són alguns dels llenguatges de programació estructurats que s'utilitzen actualment.
Què és la programació orientada a objectes?
A la POO, l'enfocament se centra en pensar el problema a resoldre en termes d'elements del món real i representar el problema en termes d'objectes i el seu comportament. Les classes representen les representacions abstractes d'objectes del món real. Les classes són com plànols o plantilles, que recullen elements o coses similars que es poden agrupar. Les classes tenen propietats anomenades atributs. Els atributs s'implementen com a variables globals i d'instància. Els mètodes de les classes representen o defineixen el comportament d'aquestes classes. Els mètodes i els atributs de les classes s'anomenen membres de la classe. Una instància d'una classe s'anomena objecte. Per tant, un objecte és una estructura de dades que s'assembla molt a algun objecte del món real.
Hi ha diversos conceptes de POO importants com ara l'abstracció de dades, l'encapsulació, el polimorfisme, la missatgeria, la modularitat i l'herència. Normalment, l'encapsulació s'aconsegueix fent que els atributs siguin privats, alhora que es creen mètodes públics que es poden utilitzar per accedir a aquests atributs. L'herència permet a l'usuari ampliar classes (anomenades subclasses) d' altres classes (anomenades superclasses). El polimorfisme permet al programador substituir un objecte d'una classe en lloc d'un objecte de la seva superclasse. Normalment, els substantius que es troben a la definició del problema es converteixen directament en classes del programa. I de la mateixa manera, els verbs esdevenen mètodes. Alguns dels llenguatges OOP més populars són Java i C.
Quina diferència hi ha entre la programació estructurada i la programació orientada a objectes?
La diferència clau entre la programació estructurada i la POO és que l'objectiu de la programació estructurada és estructurar el programa en una jerarquia de subprogrames, mentre que l'objectiu de la POO és desglossar la tasca de programació en objectes, que encapsulen dades i mètodes. La POO es considera més flexible que la programació estructurada, perquè la POO separa un programa en una xarxa de subsistemes en lloc d'estructurar el programa en una jerarquia. Tot i que l'estructuració proporciona una certa claredat, un petit canvi a un programa estructurat molt gran pot provocar un efecte dominó d'haver de canviar diversos subprogrames.