A programozás során a beágyazás az adatok csoportosítását jelenti olyan rutinkészlettel, amely lehetővé teszi azok olvasását és kezelését. Ezt az elvet gyakran kíséri a nyers adatok maszkolása annak biztosítása érdekében, hogy a felhasználó ne kerülje meg a számára szánt interfészt . Ezután az egészet egy meghatározott viselkedésű és tulajdonságú fekete doboznak tekintik .
A beágyazás az objektumorientált programozás alappillére , ahol minden osztály meghatározza az adattagokkal való interakció módszereit vagy tulajdonságait , de ez az elv megtalálható más programozási stílusokban (pl. Moduláris programozás ).
A kapszulázás elveit a nyelvtől függően nagyon különböző módon alkalmazzák. De még mindig két fő áramot találhatunk.
Először is, egy viszonylag szigorú elvek alkalmazását a tiszta objektum nyelven (amennyire ezt a kifejezés értelme), mint a Smalltalk vagy Eiffel . Ebben az összefüggésben az attribútumok gyakran csak általánosságban olvashatók a programban, és az objektumosztályon belülről is írhatók. Ezután különféle eszközöket találunk ennek a keretrendszernek a barátságos osztályokhoz, vagy az objektumok kategóriáihoz és hierarchiáihoz történő adaptálásához .
Másodszor, olyan nyelvek, mint a C ++ , a Java vagy a Ruby, és általánosabban minden olyan nyelv, amelyet a C ++ szintaxisa befolyásol, amely három láthatósági szintet kínál:
Ez a típusú kapszulázás valójában egy másik megközelítést kínál a kapszulázáshoz, amely nem tesz különbséget az attribútum olvasása és írása között. Ebben az összefüggésben a láthatóság ezen szintjeinek egyikében definiált hozzáférési és módosítási módszereket is használhatunk az elérni kívánt hatás függvényében. Gyakran mindkét típusú módszert meghatározzák az adatot ténylegesen tartalmazó attribútum mellett. Végül: az eszközök lehetővé teszik más szabad osztályok és funkciók számára, hogy szabadon hozzáférjenek az osztály összes attribútumához, ahogy ez a C ++ osztályok és barátságos funkciók esetében is történik.