Incapsulamento (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Riga 5:
===Utilizzo===
 
I termini ''incapsulamento'' e ''information hiding'' (letteralmente ''"occultamento delle informazioni"'') vengono spesso usati come sinonimi, anche se, a rigore, esiste una differenza concettuale: l'information hiding è il ''principio teorico'' su cui si basa la ''tecnica'' dell'incapsulamento. Secondo il concetto di information hiding i dettaglili implementativi di una [[classe (informatica)|classe]] – o di un costrutto di altro tipo ([[oggetto (informatica)|oggetto]], [[modularità|modulo]], ecc.) – sono nascosti all'utente. Pertanto una parte di un programma può nascondere informazioni ''incapsulandole'' in un costrutto dotato di interfaccia, permettendo l'information hiding. Tuttavia l'incapsulamento non è garanzia di information hiding, poiché potrebbe – se mal utilizzato o per motivi particolari – non nascondere i dettagli implementativi.
 
L'incapsulamento riduce il costo da pagare per correggere gli errori in fase di sviluppo di un programma. Questo risultato viene ottenuto strutturando l'intero progetto, ed i moduli che lo compongono, in modo che un'errata decisione presa nell'implementazione di un singolo modulo non si ripercuota sull'intero progetto, e possa essere corretta modificando soltanto '''quel''' modulo. Si potrà così evitare di dover modificare anche i moduli ''clienti'', che interagiranno con il modulo ''incapsulato'' soltanto attraverso ''interfacce''.