Differenza fondamentale : nella programmazione procedurale, i programmi sono eseguiti con funzioni e i dati dei programmi possono essere facilmente accessibili e modificati; mentre nella programmazione orientata agli oggetti, ogni programma è costituito da entità chiamate oggetti, che non possono essere facilmente accessibili e modificate.
Una procedura, o funzione, è un insieme di istruzioni specifiche eseguite una dopo l'altra. Una serie di procedure sono applicate sui dati. I dati sono completamente separati dalla procedura e sono stati creati diversi programmi per tenere traccia delle funzioni e dei dati modificati. OOP e POP sono due di questi programmi e questo articolo distingue tra i due.
Il termine OOP sta per "Programmazione orientata agli oggetti". Rappresenta gli oggetti che hanno campi dati. I campi dati sono fondamentalmente attributi che descrivono l'oggetto. Le procedure associate agli oggetti sono conosciute come metodi. OOP colloca i dati dove non è direttamente accessibile dal resto del programma. I metodi sono l'unico modo per valutare questi dati. Gli oggetti, che di solito sono istanze di classi, sono usati per interagire tra loro per progettare applicazioni e programmi per computer. Java è un tipo di linguaggio di programmazione orientato agli oggetti.
Il termine POP sta per "Programmazione orientata procedurale". È derivato dalla programmazione strutturata. Le procedure contengono semplicemente una serie di passaggi computazionali da eseguire. Crea un programma passo-passo che guida l'applicazione attraverso una sequenza di istruzioni. Ogni istruzione viene eseguita in ordine. È una lista o un insieme di istruzioni che dicono al computer cosa fare in ogni fase e come eseguire dal primo codice al secondo codice. Il programma è diviso in piccole parti chiamate funzioni. C e C ++ sono due tipi di linguaggi di programmazione procedurali.
Confronto tra OOP e POP:
OOP | POP | |
Abbreviazioni | Sta per 'Programmazione orientata agli oggetti'. | Sta per 'Programmazione orientata procedurale'. |
programmi | Il programma principale è diviso in piccoli oggetti a seconda del problema. | Il programma principale è diviso in piccole parti a seconda delle funzioni. |
Collegamento | Le funzioni degli oggetti sono collegate ad altri oggetti usando il passaggio del messaggio. | Le diverse parti del programma sono collegate tra loro mediante il passaggio dei parametri e l'utilizzo del sistema operativo. |
Dati | I dati e le funzioni di ogni singolo oggetto si comportano come una singola unità. | Ogni funzione contiene dati diversi. |
Importanza | I dati hanno più importanza delle funzioni in programma. | Le funzioni o gli algoritmi hanno più importanza dei dati nel programma. |
Controllo dei dati | Ogni oggetto controlla i propri dati. | La maggior parte delle funzioni utilizza dati globali. |
Trasferimento | I dati non possono essere trasferiti da un oggetto all'altro. | Gli stessi dati potrebbero essere trasferibili da una funzione all'altra. |
Nascondere i dati | È possibile nascondere i dati, impedendo l'accesso illegale della funzione dall'esterno. | Non esiste un modo perfetto per nascondere i dati. |
Comunicazione | Un oggetto si collega con l'altro usando il messaggio che passa. | Le funzioni comunicano con altre funzioni mantenendo come sempre le regole. |
aggiunta | Più dati o funzioni possono essere aggiunti con il programma se necessario. A tale scopo, non è necessario modificare il programma completo. | Più dati o funzioni non possono essere aggiunti con il programma se necessario. A tale scopo, il programma completo deve essere modificato. |
Autorizzazione | Il passaggio dei messaggi garantisce il permesso di accedere al membro di un oggetto da un altro oggetto. | Per aggiungere nuovi dati nel programma, l'utente dovrebbe assicurarsi che la funzione lo consenta. |
Processi | Il processo bottom-up è seguito per la progettazione del programma. | Il processo top-down è seguito per la progettazione del programma. |
Sovraccarico | Il sovraccarico è possibile sotto forma di sovraccarico delle funzioni e sovraccarico dell'operatore. | Il sovraccarico non è possibile. |
Accesso | Vengono utilizzati specificatori di accesso pubblici, privati e protetti. | Non vengono utilizzati specificatori di accesso. |
Esempi | C ++, Java. | Pascal, Fortran |