Kapszulázás (programozás)

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 ).

Motivációk

Végrehajtá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.

Megjegyzések és hivatkozások

  1. (in) Wm. Paul Rogers , "A  beágyazás nem rejt el információt  " , JavaWorld ,2001. május 18( online olvasás , konzultáció 2016. december 9-én )

Lásd is