Különbség az absztrakció és a beágyazás között

Az absztrakció és a beágyazás egyaránt olyan alapvető objektum-orientált programozási (OOP) fogalmak, amelyek lehetővé teszik a valós objektumok programba és kódba történő beépítését. Bár mindkettő kéz a kézben jár, egymástól nagyon különböznek. Bár minden módszer kapszulázás, ez is absztrakció. Egyszerűen fogalmazva, amikor különféle dolgokat egyesít egy entitás létrehozására, akkor valójában egy fogalmat - egy elvont - hoz létre. Noha mindkettő technikailag elválaszthatatlan, szó szerint nincs semmi közös. Szinte igaz, hogy minden beágyazás absztrakció, mivel mindketten elrejtenek valamit, ám vannak különbségeik a különbségekkel.

Mi az absztrakció??

Az absztrakció egy olyan alapvető OOP-koncepció, amely csak egy objektum releváns adataira összpontosít, és elrejti az összes irreleváns részletet, amelyek az általános vagy speciális magatartásra vonatkozhatnak. Elrejti a háttér részleteit, és hangsúlyozza a lényeges pontokat a komplexitás csökkentése és a hatékonyság növelése érdekében. Alapvetően az absztrakció egy programozó eszköz a bonyolultság kezelésére. Az absztrakció inkább az ötletekre, nem pedig az eseményekre koncentrál. Rejti a részleteket a tervezési szinten azzal, hogy funkcionalitást biztosít a felhasználók számára. A kapott objektum absztrakciónak is nevezhető. A programozó gondoskodik arról, hogy a megnevezett entitás tartalmazza az összes lényeges szempontot, és a lényegtelen elemek egyikét sem.

Vegyünk egy valós példát az absztrakcióról. Fontoljuk meg egy jármű esetét, amely ebben az esetben az Ön járműve. A szerelő megpróbálja javítani az autóját, vagy mondjuk, hogy az autó egy bizonyos része. Itt vagy a felhasználó, és nem akarja megismerkedni autója sajátosságaival, vagy azzal, hogy mi az alkatrész valóban megtört. Nem igazán érdekel ezek a dolgok; csak azt akarja, hogy járműve visszatérjen eredeti állapotába, anélkül, hogy aggódna a részletek miatt. Tehát valóban elmondta a szerelőnek, hogy mit akar, a végrehajtási rész szétválasztásával. Ez az absztrakció. A legfontosabb dologra összpontosított, amely az autó javítása, ahelyett, hogy a specifikációkra összpontosítana.

Mi az a kapszula??

A beágyazás egy újabb OOP-koncepció, amely az adatokat és a funkciókat egyetlen összetevőhöz köti, miközben korlátozza az egyes összetevőkhöz való hozzáférést. Ez az OOP egyik fő alapelve, amely az adatokat és információkat egyetlen egységbe csomagolja. Technikai értelemben a beágyazás azt jelenti, hogy a pajzsváltozókhoz tartozó attribútumokat elrejtik a külső hozzáféréstől, hogy az alkalmazás egyik részében bekövetkező változás ne befolyásolja a többi részét. Éppen ellenkezőleg: ha az információt nyitottabbá teszi, az adatokkal való visszaélés kockázata áll fenn. Alapvető integritást biztosít az adatok számára, védve azokat a külvilágtól. Egyszerűen fogalmazva elrejti a külvilág extra részleteit.

Vegyünk egy példát egy Bluetooth egérre. Csak az eszköz viselkedéséről kell tudnia, anélkül, hogy aggódnia kellene a végrehajtás részletei miatt, például az, hogy milyen érzékelők vannak az egérnél, vezeték nélküli vagy sem, stb. Minden egyes részlet leírja az egeret, de a részletektől függetlenül ez csak egy egér. Szüksége van egy felületre az egér használatához, amely ebben az esetben az egérmutató. Ez a kapszulázás.

Különbség az absztrakció és a beágyazás között

Noha mindkettő az OOP-hoz kapcsolódó alapvető fogalmak és technikailag elválaszthatatlanok, sok szempontból továbbra is vannak különbségeik.

  1. Az absztrakció és a beágyazás „meghatározásának” különbségei - Az absztrakció olyan alapvető OOP-koncepció, amely a tárgy minden lényeges aspektusát hangsúlyozza azáltal, hogy elrejti a lényeges részleteket a hatékonyság növelése és a komplexitás kiküszöbölése érdekében. A beágyazás viszont egy olyan adatrejtő mechanizmus, amely az adatokat és információkat egy kapszulába csomagolja, hogy korlátozza a hozzáférést a külvilághoz..
  2. A funkcionális különbségek absztrakció és beágyazás- Az absztrakció olyan adatok rejtett mechanizmusa, amely csak az összetett programok egyszerűbbé tételének lényeges elemeit hangsúlyozza, míg a beágyazás viszont az adatok és a kódok egyetlen entitásba történő összekötésének módszere. Az ötlet az, hogy a megvalósítás részleteit megóvjuk a külső hozzáféréstől.
  3. Az absztrakció és a beágyazás „végrehajtásának” különbségei - Az absztrakció elvont osztály és interfész segítségével valósul meg, míg az kapsuláció hozzáférés-módosítókkal valósul meg. Az adatok beágyazásához ötféle típusú módosítót használnak: Privát, Nyilvános, Belső, Védett és Védett belső.
  4. Különbségek a „koncepcióban” absztrakció és beágyazás- Az absztrakció mögött az áll, hogy inkább mire koncentrál, nem pedig hogyan. A beágyazás rejti a belső mechanikáját. Például, amikor autóval vezet, pontosan tudja, mit csinál a fékpedál, de lehet, hogy nem ismeri a mögötte levő teljes mechanizmust, mert az adatok be vannak ágyazva.
  5. Az absztrakció és a beágyazás „példa” különbségei - Vegyünk egy példát egy okostelefonra. Tudod, mit csinál, de lehet, hogy nem is tudod, hogyan csinálja, amit csinál. Csak a kijelző és a billentyűzet gombjai érdekelnek, nem pedig a belső áramköre miatt. Itt az okostelefon egy absztrakt, ahol a belső megvalósítási részletek be vannak építve.

Absztrakció vs. beágyazás az összehasonlító táblázattal

Absztrakció Egységbezárás
Csak a releváns részletekkel foglalkozik, és elrejti a irrelevánsokat, hogy csökkentsék a bonyolultságot, ezáltal növelve a hatékonyságot. Az adatokat és információkat egyetlen entitásba köti, hogy megvédje az adatokat a külső forrásoktól.
Arra utal, hogy elrejteni kell az adatokat, amelyek nem szükségesek a bemutatáshoz. Elrejti az adatokat és a kódot a nem kívánt hozzáférés korlátozása érdekében.
Nem az, hanem mire összpontosít. Elrejti a belső mechanikáját, hogy hogyan csinál valamit.
Rejti a felesleges részleteket a tervezési szinten. Elrejti a részleteket is, de a megvalósítás szintjén.
Az információkat és az adatokat elkülönítik a releváns adatoktól. Az információk a kapszula belsejében vannak elrejtve a szoros hozzáférés érdekében.
Az események helyett ötletekkel foglalkozik. Az ötlet az adatok védelme a külvilágtól.
Ez elvont osztály és felület használatával valósul meg. Védett, privát és csomag-magán hozzáférési módosítókkal valósítja meg.

összefoglalás

Noha mindkettő az OO-fogalom az adatok elrejtésével kapcsolatos, jóval különböznek egymástól. Az absztrakció ugyanúgy rejtőzik, mint a kapszulázás, de az előbbi bonyolultságot rejti el, az utóbbi megtartja az általad kapszulázott adatokat azáltal, hogy ellenőrzi a hozzájuk való hozzáférést. Az absztrakció arra a fogalomra utal, amely szerint csak a szükséges tulajdonságokat reprezentálja, azáltal, hogy elrejti a irreleváns részleteket, hogy csökkentsék az alkalmazás bonyolultságát, ezáltal növelve a hatékonyságot. A beágyazás viszont arra utal, hogy elrejti a program összes belső mechanikáját, hogy megvédje az információkat a nem kívánt hozzáféréstől. Összekapcsolja az adatokat és az információkat egyetlen összetevőbe, korlátozva a hozzáférést más összetevőkhöz.