Tipi di dati opachi

October 18

Tipi di dati opachi


Come programmatore, ci sono momenti in cui si desidera mettere livelli extra di protezione attorno importanti tipi di dati, come i valori delle variabili, che sono essenziali per la sicurezza o la stabilità di un programma. È possibile farlo rendendoli opachi o incapsulare 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 direttamente modificato dal corpo principale del programma. Piuttosto, esso può essere modificato solo dalle funzioni che si trovano all'interno del costrutto di codice che incapsula i dati in questione. Un semplice esempio di questo è una "struttura" o "struct". Structs sono un corpo organizzato di dati che può essere modificato solo dal programma principale passando attraverso la struct stessa.

Programmazione orientata agli oggetti

Un altro luogo dove sono impiegati i metodi di astrazione è nei programmi orientati agli oggetti. In linguaggi orientati agli oggetti di programmazione, il programmatore crea una struttura di codice chiamato "Class". Questa classe contiene una combinazione di variabili e funzioni che modificano il valore di tali variabili. Queste variabili sono protetti dal programma principale accesso o modificare direttamente i loro valori. 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 solito comporta mascherare 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 tutto. Ci possono essere un certo numero di motivi per un programmatore per fare questo. Si potrebbe essere fare uno strumento per altri programmatori in cui un componente è destinato a non essere toccato per garantire che lo strumento funzioni correttamente. Un altro coinvolge la protezione di strutture di dati all'interno di codice sorgente che è destinato a essere aggiornato e ricompilato. Alcune 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 resi opachi è quello di utilizzare puntatori opachi. Quando un programma viene eseguito, il computer assegna indirizzi di memoria per i dati il ​​programma sarà necessario memorizzare. Un puntatore contiene l'indirizzo di memoria in cui è nascosta una parte specifica di dati. Mentre i dati regolari che il programma accedere e manipolare in modo regolare puntatori uso base a semplice chiamata backup dei dati. puntatori opache richiamare i dati senza definirlo, limitando il programma di modificare i dati in un particolare indirizzo.