Differenza fondamentale: l' astrazione e l'incapsulamento sono concetti di programmazione informatica. Un'astrazione è un processo in cui le caratteristiche extra dei dati vengono rimosse o separate dai dati; mentre un incapsulamento è un meccanismo in cui i dati sono nascosti e raggruppati nei metodi.
L'astrazione è un processo generalizzato in cui i dati extra vengono rimossi e rimossi per rendere concreti i dati. Nei computer, è un metodo di programmazione che aiuta a convertire i dati in una forma concisa. I dati e il programma non vengono modificati in questo metodo, ma sono mantenuti nella stessa forma iniziale; l'unica differenza è che sono ridotti a una forma presentabile più piccola. L'astrazione cerca di ridurre e calcolare i dettagli, in modo che il programmatore possa concentrarsi su alcuni concetti alla volta.
Un sistema può avere molti di questi livelli di astrazione, che hanno significati e dettagli diversi. Ad esempio, i livelli di astrazione di basso livello espongono i dettagli dell'hardware del computer in cui viene eseguito il programma, mentre i livelli di alto livello gestiscono la logica di business del programma. Questi dettagli vengono quindi esposti al programmatore al momento dell'esecuzione. L'astrazione è un concetto o un'idea, che non è associata ad alcuna particolare istanza. Cattura solo quei dettagli dei dati che riguardano i suoi oggetti e le attuali prospettive. Svolge un ruolo importante nella famiglia degli oggetti (nei concetti di programmazione orientata agli oggetti). e viene utilizzato in diversi modi e implementazioni.
Il concetto di astrazione può essere implementato in:
- Controllo dell'astrazione: è l'astrazione delle azioni.
- Astrazione dei dati: consente e gestisce i bit di dati e le strutture dati in modo significativo.
L'incapsulamento nella programmazione del computer mette in evidenza le sue funzioni in due differenti notazioni, sono come:
- Un meccanismo linguistico che limita l'accesso ai componenti di alcuni oggetti.
- Un costrutto linguistico che facilita il raggruppamento dei dati con i metodi (e altre funzioni) che operano su tali dati.
L'incapsulamento è il meccanismo di occultamento, che svolge un ruolo vitale nel proteggere e proteggere i dati dagli estranei. In realtà fornisce l'integrità di base dei dati prevenendo l'uso improprio dei dati reali. Nell'incapsulamento, i dati vengono archiviati e consultati nel formato originale valido e coerente.
In generale, l'incapsulamento significa preservare un oggetto dall'utente e rappresentarlo in una forma generale. Fondamentalmente, nell'incapsulamento i dettagli extra sono nascosti dall'ambiente esterno. I campi degli oggetti sono controllati e manipolati direttamente in questo meccanismo. Le informazioni che si nascondono insieme all'arredamento sono compilate in una versione, che viene ulteriormente utilizzata come codice sorgente e interfacciata tramite un file di intestazione. A volte, le classi pubbliche cercano di accedere ai dati, in questi casi l'incapsulamento non consente agli invasori pubblici di giocare con i dati. Uno dei principali vantaggi dell'incapsulamento è che aiuta a ridurre la complessità di un programma e aiuta gli utenti a comprendere i concetti esatti del programma, poiché i meccanismi rappresentano solo la forma concisa del programma. Ciò aumenta la robustezza, consentendo allo sviluppatore o al programmatore di limitare le interdipendenze tra i componenti software. L'incapsulamento è applicabile anche in alcune lingue come, Smalltalk e Ruby, in cui l'accesso è consentito solo tramite metodi di oggetti; mentre molti altri, C ++, C # o Java offrono un certo grado di controllo al programmatore. Questi linguaggi consentono agli sviluppatori di accedere a ciò che è nascosto con l'aiuto di parole chiave come pubblico e privato.
L'astrazione e l'incapsulamento sono anche i principali fondamenti dell'OOP (Object-Oriented-Programming).
Confronto tra l'astrazione e l'incapsulamento:
Astrazione | incapsulamento | |
Breve descrizione | L'astrazione è un processo che estrae i dettagli essenziali su un oggetto o gruppo di elementi e ignora i dettagli non essenziali. | L'incapsulamento è un processo che avvolge o racchiude i dati in una capsula o rende concisi i dati. |
Loro sono | L'astrazione si riferisce all'idea di nascondere i dati che non sono necessari per la presentazione. | Incapsulamento è il raggruppamento di dati e funzionalità. |
Funzioni base | Fondamentalmente, l'astrazione viene utilizzata per nascondere i dati indesiderati e fornisce i dati rilevanti. | Fondamentalmente, incapsulare significa nascondere il codice e i dati in una singola unità al fine di proteggere i dati dal mondo esterno. |
Quando sono operativi | Gestisce il problema a livello di progettazione. | Gestisce il problema a livello di implementazione. |
Utile per i ruoli | Aiuta l'utente a concentrarsi su ciò che l'oggetto fa invece di come fa qualsiasi funzione. | Aiuta il programmatore a nascondere i dettagli interni o la meccanica di come un oggetto fa qualcosa. |
L'informazione è | Qui le informazioni sono separate dai dati reali. | Qui le informazioni sono avvolte in un formato nascosto. |
layout | Riguarda il layout esterno, che viene utilizzato in termini di design. | Riguarda il layout interno, che viene utilizzato in termini di implementazione. |
Per esempio | L'aspetto esterno di un telefono cellulare, che ha uno schermo e pulsanti della tastiera per comporre un numero. | Dettaglio di implementazione interno di un telefono cellulare, il modo in cui il pulsante della tastiera e la schermata del display sono collegati tra loro tramite i circuiti. |