Differenza tra programmazione strutturata e programmazione orientata agli oggetti

Programmazione strutturata rispetto alla programmazione orientata agli oggetti

La programmazione orientata agli oggetti (OOP) e la programmazione strutturata sono due paradigmi di programmazione. Un paradigma di programmazione è uno stile fondamentale di programmazione per computer. I paradigmi di programmazione differiscono nel modo in cui ogni elemento dei programmi è rappresentato e come sono definiti i passaggi per risolvere i problemi. Come suggerisce il nome, OOP si concentra sulla rappresentazione dei problemi usando oggetti del mondo reale e il loro comportamento, mentre la programmazione strutturata riguarda l'organizzazione del programma in una struttura logica.

Cos'è la programmazione strutturata?

Si presume che l'anno di nascita della programmazione strutturata sia il 1970. La programmazione strutturata è considerata un sottoinsieme della programmazione imperativa. Un programma strutturato è costituito da semplici strutture di flusso del programma, organizzate gerarchicamente. Sono sequenza, selezione e ripetizione. La sequenza è un ordine di dichiarazioni. Selezione significa selezionare una dichiarazione da un insieme di istruzioni basate sullo stato corrente del programma (per esempio usando istruzioni if) e la ripetizione significa eseguire un'istruzione finché non viene raggiunto un certo stato (per esempio usando istruzioni for o while). ALGOL, Pascal, Ada e PL / I sono alcuni dei linguaggi di programmazione strutturati utilizzati oggi.

Cos'è la programmazione orientata agli oggetti?

In OOP, l'attenzione si concentra sul pensare al problema da risolvere in termini di elementi del mondo reale e rappresentando il problema in termini di oggetti e del loro comportamento. Le classi descrivono le rappresentazioni astratte di oggetti del mondo reale. Le classi sono come modelli o modelli, che raccolgono oggetti simili o cose che possono essere raggruppate insieme. Le classi hanno proprietà chiamate attributi. Gli attributi sono implementati come variabili globali e di istanza. I metodi nelle classi rappresentano o definiscono il comportamento di queste classi. I metodi e gli attributi delle classi sono chiamati membri della classe. Un'istanza di una classe è chiamata un oggetto. Pertanto, un oggetto è una struttura di dati che assomiglia da vicino ad alcuni oggetti del mondo reale.

Esistono diversi concetti OOP importanti come l'astrazione dei dati, l'incapsulamento, il polimorfismo, la messaggistica, la modularità e l'ereditarietà. In genere, l'incapsulamento si ottiene rendendo privati ​​gli attributi, mentre si creano metodi pubblici che possono essere utilizzati per accedere a tali attributi. L'ereditarietà consente all'utente di estendere le classi (chiamate sottoclassi) da altre classi (chiamate super classi). Il polimorfismo consente al programmatore di sostituire un oggetto di una classe al posto di un oggetto della sua super classe. In genere, i nomi trovati nella definizione del problema diventano direttamente classi nel programma. E allo stesso modo, i verbi diventano metodi. Alcuni dei linguaggi OOP più popolari sono Java e C #.

Qual è la differenza tra Programmazione strutturata e Programmazione orientata agli oggetti?

La differenza principale tra Programmazione strutturata e OOP è che l'obiettivo della Programmazione strutturata è strutturare il programma in una gerarchia di sottoprogrammi mentre, l'obiettivo di OOP è quello di suddividere l'attività di programmazione in oggetti, che incapsulano dati e metodi. OOP è considerato più flessibile della programmazione strutturata, perché OOP separa un programma in una rete di sottosistemi piuttosto che strutturare il programma in una gerarchia. Anche se la strutturazione fornisce una certa chiarezza, una piccola modifica a un programma strutturato di grandi dimensioni può causare un effetto a catena dovuto alla modifica di più sottoprogrammi.