Ci sono alcune altre differenze che possono essere spiegate con l'aiuto della tabella di confronto.
Grafico comparativo
Base Per il confronto | POP | OOP |
---|---|---|
Di base | Procedura / Struttura orientata. | Orientato agli oggetti. |
Approccio | Dall'alto al basso. | Dal basso verso l'alto. |
Base | L'obiettivo principale è "come portare a termine l'attività", cioè sulla procedura o sulla struttura di un programma. | L'attenzione principale è sulla 'sicurezza dei dati'. Quindi, solo gli oggetti sono autorizzati ad accedere alle entità di una classe. |
Divisione | Il grande programma è diviso in unità chiamate funzioni. | L'intero programma è diviso in oggetti. |
Modalità di accesso all'entità | Nessun identificatore di accesso osservato. | Gli specificatori di accesso sono "pubblico", "privato", "protetto". |
Sovraccarico / polimorfismo | Né sovraccarico né funzioni né operatori. | Sovraccarica funzioni, costruttori e operatori. |
Eredità | La loro non è una disposizione di eredità. | Eredità conseguita in tre modalità pubbliche private e protette. |
Nascondersi e sicurezza dei dati | Non esiste un modo corretto per nascondere i dati, quindi i dati non sono sicuri | I dati sono nascosti in tre modalità pubbliche, private e protette. quindi aumenta la sicurezza dei dati. |
Condivisione dei dati | I dati globali sono condivisi tra le funzioni del programma. | I dati vengono condivisi tra gli oggetti tramite le funzioni membro. |
Funzioni / classi di amici | Nessun concetto di funzione amico. | Le classi o le funzioni possono diventare amici di un'altra classe con la parola chiave "amico". Nota: la parola chiave "amico" viene utilizzata solo in c ++ |
Classi virtuali / funzione | Nessun concetto di classi virtuali. | Il concetto di funzione virtuale appare durante l'ereditarietà. |
Esempio | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Definizione di programmazione orientata agli oggetti (OOP)
La preoccupazione principale di OOP è quella di nascondere i dati dalle funzioni non membri di una classe, che tratta come "informazioni critiche". I dati sono strettamente legati alle funzioni membro di una classe, che opera su di essa. Non consente a nessuna funzione non membro di modificare i dati al suo interno. Gli oggetti comunicano tra loro tramite le funzioni membro per accedere ai propri dati.
OOP è sviluppato sul concetto base di "oggetto", "classi", "incapsulamento dati o astrazione", "ereditarietà" e "polimorfismo / sovraccarico". In OOP, i programmi possono essere suddivisi in moduli partizionando dati e funzioni, che possono essere ulteriormente utilizzati come modelli per la creazione di nuove copie di moduli, se necessario.
Definizione di programmazione orientata alla procedura (POP)
POP è un modo convenzionale di programmazione. La programmazione procedurale è quella in cui l'obiettivo principale è quello di svolgere l'attività in un ordine sequenziale. Il diagramma di flusso organizza il flusso di controllo del programma. Se il programma è di grandi dimensioni, è strutturato in alcune piccole unità chiamate funzioni, che condividono i dati globali. Qui si pone la preoccupazione della sicurezza dei dati, in quanto vi è un cambiamento involontario nel programma da parte delle funzioni.
Differenze chiave tra OOP e POP
- POP è una programmazione orientata alla procedura mentre, OOP è una programmazione orientata agli oggetti.
- L'obiettivo principale di POP è "come ottenere il compito" segue il diagramma di flusso per portare a termine l'attività. L'obiettivo principale di OOP è la sicurezza dei dati poiché solo gli oggetti di una classe sono autorizzati ad accedere agli attributi o alle funzioni di una classe.
- Le funzioni sono piccole unità dei programmi di grandi dimensioni che vengono eseguiti per svolgere l'attività principale. In OOP, gli attributi e le funzioni della classe sono divisi tra gli oggetti.
- In POP, non esiste una specifica modalità di accesso per accedere agli attributi o alle funzioni del programma mentre, in OOP ci sono tre modalità di accesso "pubblica", "privata", "protetta", che vengono utilizzate come condivisione di accesso per accedere a attributi o funzioni .
- POP non supporta il concetto di sovraccarico / polimorfismo. OOP supporta Overloading / Polymorphism a che significa usare lo stesso nome di funzione per eseguire diverse funzioni. Possiamo sovraccaricare funzioni, costruttore e operatori in OOP.
- Non esiste alcun concetto di ereditarietà in POP mentre, OOP supporta l'ereditarietà che consente di utilizzare l'attributo e le funzioni di un'altra classe ereditandola.
- POP è meno sicuro rispetto a OOP perché in OOP l'identificatore di accesso limita l'accesso ad attributi o funzioni che aumentano la sicurezza.
- In POP se alcuni dati devono essere condivisi tra tutte le funzioni nel programma è dichiarato globalmente al di fuori di tutte le funzioni. In OOP è possibile accedere ai membri dati della classe tramite le funzioni membro della classe.
- Nel POP non esiste il concetto della funzione amico, mentre in OOP esiste un concetto di funzione amico che non è il membro della classe, ma poiché è membro amico può accedere al membro dati e alle funzioni membro della classe.
- Non c'è alcun concetto di classi virtuali in POP mentre, in OOP, le funzioni virtuali supportano il polimorfismo.
Conclusione
I difetti di POP suscita la necessità di OOP. OOP corregge i difetti del POP introducendo il concetto di "oggetto" e "classi". Migliora la sicurezza dei dati e l'inizializzazione e la cancellazione automatica degli oggetti. OOP consente di creare più istanze dell'oggetto senza alcuna interferenza.