Hvad skjuler data sig?
Data skjul er en metode, der bruges i objektorienteret programmering til at skjule information inden for computerkode. Objekter inden for en kode er ikke interesseret i oplysninger, der betragtes som skjulte. Det giver flere fordele for programmerere, fordi objekter ikke er i stand til at oprette forbindelse til irrelevante data, og det er mindre sandsynligt, at hackere er i stand til at få adgang til data. Samtidig kan skjul af data gøre det sværere for en programmør, der muligvis bliver nødt til at bruge mere kode for at skabe effekter i skjulte data, end det ville være nødvendigt, hvis dataene var offentlige.
Objektorienteret programmering er en type programmering, hvor dele af koden er opdelt i objekter. Hver af disse objekter er programmeret i kapsler, så hvert objekt har sin egen kodning, der kun gælder for det objekt. Uden at specificere data som skjult, er alle data åbne for objekterne.
Data skjul tager visse dele af koden og skjuler disse dele fra objekterne. Objekterne har ikke direkte adgang til nogen data, der er skjult. Hvis et objekt får adgang til skjulte data, returnerer det en fejl. Dette skyldes, at objektet ikke kan se dataene, så alle funktioner eller data, der er mærket som skjult, vil se usynlige ud for objektet. Det meste af tiden er de data, der skjules, de interne komponenter, som brugeren ikke har brug for og kan vise sig farlige, hvis dataene er åbne for brugeren.
Fordelen for programmører er, at der ikke er nogen måde for en programmør til ved et uheld at linke til forkerte data. Data-skjul sikrer, at hvis en programmør opretter dette link, returnerer programmet ganske enkelt en fejl, så programmereren hurtigt kan rette fejlen. Dette sikrer også, at alle objekter virkelig er isolerede enheder, hvilket er hovedkonceptet med objektorienteret kodning. Flygtige data skjules typisk, fordi hvis sådanne data blev offentliggjort, kan det skade objektet og ødelægge hele programmet.
En anden fordel ved at skjule data er øget sikkerhed mod hackere. Hvis alle interne data er offentlige, kan en hacker nemt klemme ind i de interne data og foretage ændringer for at manipulere programmet ondsindet. Ved at skjule dataene, er det meget sværere at knække koden, fordi dataene vises usynlige for objekterne og hacker.
Ulempen ved skjul af data er, at det undertiden kan tvinge programmerere til at bruge ekstra kodning. Hvis en programmør er i stand til at linke til skjulte data, kan den få objekter til at arbejde hurtigere eller skære ned på en stor mængde kode. De fleste programmerere holder dog ikke alle oplysninger offentlige, på grund af alle de problemer, der er forbundet med denne type kodning.