Encapsulation er et softwaredesignprincip, der siger, at adgang til objekter skal være uafhængig af, hvordan de bruges. Dette giver dig mulighed for at oprette objekter, der kan bruges, uanset hvordan de blev oprettet. I en programmeringssammenhæng kan indkapsling opfattes som en måde at skjule implementeringsdetaljerne for et objekt for dets brugere.
Indkapsling i programmering betyder, at man deler alle egenskaber og metoder for et objekt med et andet objekt, hvilket skaber et objekt, der har egenskaber og adfærd adskilt fra disse objekter. Dette princip tilskynder objekter til at være uafhængige moduler, der kombinerer data og behandlingsprocedurer, der kun fungerer inden for objektskallen.
Eksempel
Lad os som et eksempel betragte dette scenarie: du har en klasse 'Computer' med attributter og metoder såsom egenskaber for processoren ('processorPower'), RAM ('ramCapacity'), harddisk ('hardDriveSize') osv. Du kan også have andre klasser som `