Ascunderea datelor este o metodă folosită în programarea orientată pe obiecte pentru a ascunde informații în codul computerului. Obiectele dintr-un cod nu au acces la informațiile considerate ascunse. Prezintă mai multe avantaje pentru programatori, deoarece obiectele nu se pot conecta la date irelevante, iar hackerii sunt mai puțin probabil să poată accesa date. În același timp, ascunderea datelor poate îngreuna un programator, care poate avea nevoie să folosească mai mult cod pentru a crea efecte în datele ascunse decât ar fi necesar dacă datele ar fi publice.
Programarea orientată pe obiecte este un tip de programare în care părți ale codului sunt împărțite în obiecte. Fiecare dintre aceste obiecte este programat în capsule, astfel încât fiecare obiect are propria sa codare care se aplică doar acelui obiect. Fără a specifica datele ca fiind ascunse, toate datele sunt deschise pentru obiecte.
Ascunderea datelor preia anumite părți de cod și ascunde acele părți de obiecte. Obiectele nu pot accesa direct nicio dată care este ascunsă. Dacă un obiect accesează date ascunse, va returna o eroare. Acest lucru se datorează faptului că obiectul nu poate vedea datele, astfel încât orice funcții sau date care sunt etichetate ca ascunse vor părea invizibile pentru obiect. De cele mai multe ori, datele care sunt ascunse sunt componentele interne care nu sunt necesare utilizatorului și se pot dovedi periculoase dacă datele sunt deschise utilizatorului.
Avantajul programatorilor este că nu există nicio modalitate ca un programator să se conecteze accidental la date incorecte. Ascunderea datelor asigură că, dacă un programator face această legătură, programul va returna pur și simplu o eroare, astfel încât programatorul să poată corecta rapid greșeala. Acest lucru asigură, de asemenea, că toate obiectele sunt unități cu adevărat izolate, care este conceptul principal de codificare orientată pe obiecte. Datele volatile sunt de obicei ascunse deoarece, dacă astfel de date ar fi făcute publice, ar putea deteriora obiectul și ar putea distruge întregul program.
Un alt avantaj al ascunderii datelor este securitatea sporită împotriva hackerilor. Dacă toate datele interne sunt publice, un hacker poate intra cu ușurință în datele interne și poate face orice modificări pentru a manipula programul în mod rău intenționat. Ascunzând datele, este mult mai greu să spargi codul, deoarece datele vor apărea invizibile pentru obiecte și pentru hacker.
Dezavantajul ascunderii datelor este că uneori îi poate forța pe programatori să folosească codare suplimentară. Dacă un programator este capabil să se conecteze la date ascunse, poate face obiectele să funcționeze mai rapid sau poate reduce o cantitate mare de cod. Majoritatea programatorilor nu păstrează toate informațiile publice, totuși, din cauza tuturor problemelor asociate cu acest tip de codare.