A legfontosabb különbség: az absztrakció és a kapszulázás számítógép-tudomány programozási koncepciók. Az absztrakció olyan folyamat, amelyben az adatok extra jellemzőit eltávolítják vagy elkülönítik az adatoktól; mivel egy kapszulázás olyan mechanizmus, amelyben az adatok rejtve vannak és a módszereket összekapcsolják.
Az absztrakció olyan általános folyamat, amelyben az extra adatokat elveszik és eltávolítják az adatbeton készítéséhez. A számítógépekben ez egy olyan programozási módszer, amely segít az adatok tömör formájának átalakításában. Az adatok és a program nem módosulnak ebben a módszerben, hanem ugyanabban a kezdeti formában vannak; az egyetlen különbség az, hogy kisebb reprezentatív formába kerülnek. Az absztrakció megkísérli a részleteket csökkenteni és tényezővé tenni, hogy a programozó egyidejűleg néhány fogalomra koncentrálhasson.
A rendszer sok ilyen absztrakciós réteget tartalmazhat, amelyek különböző jelentéssel és részletekkel rendelkeznek. Például az alacsony szintű absztrakciós rétegek megjelenítik a számítógép hardverének részleteit, ahol a program fut, míg a magas szintű rétegek a program üzleti logikájával foglalkoznak. Ezeket a részleteket a programozó a végrehajtás időpontjában érinti. Az absztrakció olyan fogalom vagy ötlet, amely nem kapcsolódik egy adott példához. Csak azokat az adatokat tartalmazza, amelyek a tárgyakkal és az aktuális perspektívákkal foglalkoznak. Fontos szerepet játszik az objektumcsaládban (az objektum-orientált programozás fogalmában). és különböző módon és megvalósításokban használják.
Az absztrakció fogalma megvalósítható:
- Ellenőrzési absztrakció: Ez az akciók absztrakciója.
- Adat absztrakció: lehetővé teszi és kezeli az adat biteket és adatszerkezeteket értelmes módon.
A számítógépes programozás kapszulázása két különböző jelzésre emeli funkcióit:
- Olyan nyelvi mechanizmus, amely korlátozza az egyes objektumok összetevőinek elérését.
- Olyan nyelvi konstrukció, amely megkönnyíti az adatok összekapcsolását az adatokon működő módszerekkel (és egyéb funkciókkal).
A kapszulázás az elrejtő mechanizmusok, amelyek létfontosságú szerepet játszanak az adatoknak a kívülállóktól való védelmében és biztosításában. Valójában biztosítja az adatok alapvető integritását azáltal, hogy megakadályozza a valós adatok helytelen használatát. A kapszulázás során az adatokat az eredeti érvényes és következetes formátumban tárolják és érik el.
Általában a kapszulázás egy objektum megőrzését jelenti a felhasználótól, és általános formában. Alapvetően a kapszulázás során az extra részletek rejtve vannak a külső környezetben. Az objektum mezőket közvetlenül ellenőrzik és manipulálják ebben a mechanizmusban. A lakberendezéssel együtt rejtett információ egy olyan változatban kerül összeállításra, amelyet tovább használnak forráskódként, és egy fejlécfájlon keresztül összekapcsolódik. Néha a nyilvános osztályok megpróbálnak hozzáférni az adatokhoz, ezekben az esetekben a kapszulázás nem teszi lehetővé a nyilvános támadók számára, hogy az adatokkal játsszanak. A kapszulázás egyik fő előnye, hogy segít a program összetettségének csökkentésében, és segít a felhasználóknak a program pontos koncepcióinak megértésében, mivel a mechanizmusok csak a program tömör formáját képviselik. Ez növeli a robusztusságot, mivel lehetővé teszi, hogy a fejlesztő vagy programozó korlátozza a szoftverösszetevők közötti függőségeket. A kapszulázás bizonyos nyelveken is alkalmazható, mint például a Smalltalk és a Ruby, ahol a hozzáférés csak objektum módszerekkel lehetséges; míg a legtöbb más, mint a C ++, a C # vagy a Java, bizonyos fokú ellenőrzést biztosít a programozónak. Ezek a nyelvek lehetővé teszik a fejlesztők számára, hogy hozzáférjenek a rejtett kulcsszavakhoz, mint például az állami és a magán kulcsszavak.
Az absztrakció és a kapszulázás szintén az OOP (Object-Oriented-Programming) főbb alapjai.
Az absztrakció és a kapszulázás összehasonlítása:
Absztrakció | Encapsulation | |
Rövid leírás | Az absztrakció olyan folyamat, amely kivonja az elem vagy elemcsoport lényeges részleteit, és figyelmen kívül hagyja a lényegtelen részleteket. | A kapszulázás olyan folyamat, amely a kapszulában lévő adatokat becsomagolja, vagy az adatokat tömöríti. |
Ők | Az absztrakció azokra az adatokra vonatkozik, amelyek nem szükségesek a bemutatáshoz. | A kapszulázás az adatok és a funkcionalitás csoportosítása. |
Alapfunkciók | Alapvetően az absztrakció a nem kívánt adatok elrejtésére szolgál, és megadja a vonatkozó adatokat. | Alapvetően a kapszulázás azt jelenti, hogy a kódot és az adatokat egyetlen egységbe rejtjük, hogy megvédjük az adatokat a külvilágtól. |
Mikor működnek | A tervezési szinten működik. | A problémát a végrehajtás szintjén kezeli. |
A szerepek számára előnyös | Segít a felhasználónak arra, hogy összpontosítson arra, hogy mit csinál az objektum, hanem hogy hogyan működik. | Segít a programozónak abban, hogy elrejtse a belső részleteket vagy mechanikákat arról, hogy egy tárgy hogyan csinál valamit. |
Az információ | Itt az információ elkülönül a valós adatoktól. | Itt az információ egy rejtett formátumban van csomagolva. |
elrendezések | Ez a külső elrendezéssel foglalkozik, amelyet a tervezés szempontjából használnak. | A végrehajtás szempontjából használt belső elrendezésre vonatkozik. |
Például | A mobiltelefon külső megjelenése, amely kijelzővel és billentyűzettel rendelkezik egy szám tárcsázásához. | A mobil telefon belső megvalósítási részletei, a kezelőgomb és a kijelző képernyő összekapcsolása áramkörökkel. |