Come programmatore , ci sono momenti in cui si vuole mettere livelli extra di protezione intorno importanti tipi di dati , come ad esempio i valori delle variabili , che sono essenziali per la sicurezza o la stabilità di un programma. È possibile farlo rendendoli opachi o incapsulando i dati in strutture che la parte principale del programma non può accedere. Astrazione
Utilizzando i tipi di dati opachi è una sorta di astrazione . In astrazione, la struttura di dati in questione non può essere modificato direttamente dal corpo principale del programma . Piuttosto, può essere modificato solo da funzioni che si trovano all'interno del costrutto di codice che incapsula i dati in questione . Un semplice esempio di questo è una "struttura" o un "struct ". Le strutture sono un corpo organizzato di dati che possono essere modificati solo dal programma principale passando attraverso la struttura stessa.
Object-Oriented Programming
Un altro luogo in cui i metodi di astrazione sono impiegati sia in programmi orientati agli oggetti . In linguaggi di programmazione orientati agli oggetti , il programmatore crea una struttura di codice chiamato " Class ". Questa classe conterrà una combinazione di variabili e la funzione che modificano il valore di tali variabili . Queste variabili sono protetti dal programma principale accesso o cambiare i valori direttamente . Per modificare le variabili , il programma deve chiamare una delle funzioni all'interno di tale classe di variabili di farlo .
Opacità nella pratica
Mentre astrazione di solito comporta mascheramento la possibilità di modificare una struttura di dati non attraverso canali specifici , strutture di dati che sono fatti opaco non sono destinate ad essere modificate in tutti . Ci può essere una serie di motivi per un programmatore per farlo . Uno potrebbe essere rendere uno strumento per altri programmatori in cui un componente è destinato a non essere toccato per garantire che lo strumento funziona correttamente . Un altro riguarda la protezione di strutture di dati all'interno del codice sorgente che è destinato a essere aggiornato e ricompilato . Determinate strutture di dati essenziali potrebbero essere modificati se sono lasciati essere durante il processo di compilazione , che possa annullare l'intero programma .
Puntatori opachi
un modo in cui le strutture di dati sono reso opaco è quello di utilizzare i puntatori opachi . Quando un programma viene eseguito , il computer assegna indirizzi di memoria per i dati, il programma avrà bisogno di memorizzare . Un puntatore contiene l' indirizzo di memoria in cui una parte specifica di dati è nascosta . Mentre i dati regolari che il programma accederà e manipolare in modo regolare utilizzare i puntatori di base a chiamata semplice il backup dei dati . Puntatori opachi richiamare dati senza definirlo , limitando il programma di modificare i dati in un particolare indirizzo.