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

Absztrakció vs beágyazás mindkettő alapvető objektum-orientált programozási (OOP) fogalom, amely lehetővé teszi a valós objektumok végrehajtását a kódban és a programban. Nagyon különböznek egymástól, mivel mindkettő kéz a kézben jár. Noha mindkettő technikailag elválaszthatatlan, szó szerint nincs semmi közös. Szinte minden beágyazás absztrakció, mivel mindkettő valamit elfed, de a különbségeknek méltányos részük van.

Mi az absztrakció?

Az absztrakció olyan alapvető OOP-koncepció, amely csak egy tárgy releváns adataira összpontosít, és lefedi az összes irreleváns részletet, amelyeket általános vagy speciális magatartáshoz lehet használni vagy nem lehet használni. Maszkolja a háttér részleteit és kiemeli az összetevők csökkentésének és a hatékonyság javításának alapvető elemeit. Ez elősegíti a domain modell ábrázolását. Az absztrakció inkább ötletekről szól, mint eseményekről. Lefedi a részleteket a tervezés szintjén azáltal, hogy felhasználói funkciókat kínál. Az absztrakciót az eredményül kapott objektumnak is nevezhetjük.

Vegyünk egy példát

Tehát mérlegeljük a motorkerékpárt. Egy szerelő megpróbálja javítani a motorkerékpárját, vagy mondja el a motorkerékpár egy bizonyos szakaszát. Ön a felhasználó, és nem akarja megismerni a motorkerékpár sajátosságait vagy azt, hogy az alkatrész miért tört meg. Nem érdekel; egyszerűen csak azt akarja, hogy a motorkerékpár eredeti állapotában maradjon, anélkül hogy aggódna a részletek miatt. Azt mondtad a szerelőnek, hogy mit akarsz, elválasztva a végrehajtó részt, ezt absztrakciónak hívják. A legfontosabb dolog az volt, hogy a motorját rögzítette, ahelyett, hogy a részletekre összpontosított volna.

Mi az a kapszulázás?

Az OOP beágyazásának egy másik fogalma az adatokat és a funkciókat egy komponensre köti, miközben megállapították az egyes összetevőkhöz való hozzáférés korlátozását. A beágyazás javítja alkalmazásának karbantarthatóságát. Ez nagy rugalmasságot biztosít a felhasználó számára a rendszer használatában. Ez megkönnyíti a teljes kódolási folyamatot, mivel csak az érdekli, hogy mi az, amit egy másik osztály nem tesz. Ez az OOP egyik fő alapelve, amely az adatokat és az adatokat egy egységbe csomagolja. Alapvető integritást ad az adatoknak, mivel megvédi őket a külvilágtól. Könnyen fogalmazva elrejti a külvilágtól származó kiegészítő információkat.

Vegyünk egy példát

Csak akkor ismernie kell az eszköz viselkedését anélkül, hogy aggódnia kellene az olyan részletek végrehajtása miatt, mint például a billentyűzet érzékelői, vezeték nélküli vagy sem. Minden részlet leírja az egeret, de egyszerűen csak egy billentyűzet, a részletektől függetlenül. Csak egy billentyűzet-felülettel rendelkezik, amely ebben az esetben az egérmutató, és ezt Encapsulation néven hívtuk

Összehasonlítás az absztrakció és a beágyazás között (Infographics)

Az alábbiakban látható az első 6 különbség az absztrakció és a beágyazás között

Főbb különbségek az absztrakció és a beágyazás között

Beszéljünk néhány főbb különbségről az absztrakció és a beágyazás között:

Az absztrakció és a beágyazás közötti fő különbség az, hogy a problémát az absztrakció oldja meg a tervezési és az alkalmazás szintjén az Encapsulation segítségével. Az absztrakció magában foglalja a nem kívánt információk elrejtését, miközben a legfontosabb információkat biztosítja, míg a beágyazás a kód és az információk elrejtését jelenti egy eszközben.

Az absztrakció lehetővé teszi, hogy arra összpontosítson, amit az elem csinál, ahelyett, hogy miként, míg a beágyazás az objektum működésének belső részleteit jelenti. Később jobb technikával módosíthatja, ha a belső információkat bizalmasan kezeli. Az absztrakció a külső látásra összpontosít, például az autó elmozgatására, míg az Encapsulation a belső munkára vagy a belső megfigyelésre összpontosít.

Az absztrakciót a Java támogatja az interfész és az absztrakt osztály használatával, az Encapsulation például a nyilvános, a magán és a biztonságos hozzáférés módosító rendszerekkel támogatott. Ez a Java és az OOP elválasztása a beágyazás és az absztrakció között. Emlékezzünk arra, hogy az absztrakció megoldja a kérdést a tervezési szinten és a beágyazást a végrehajtási szinten. Mindkét OOP programozó számára nagyon fontos, de néha nehéz megmagyarázni. Mint korábban mondtam, mások kódjának írása és olvasása az egyik legjobb módszer az objektum-orientált programozás megtanulására és elsajátítására.

Az absztrakció az interfész és az elvont osztály segítségével rejti a megvalósítást, míg az Encapsulation az adatokat rejtegetők és beállítók segítségével rejti el.

Az absztrakció és a beágyazás összehasonlító táblázata

Az alábbiakban látható az absztrakció és a beágyazás összehasonlítása:

Absztrakció

Egységbezárás

Az absztrakció tervezési szinten működikA beágyazás az alkalmazás szintjén működik
Az absztrakció célja a felesleges adatok elrejtése és a vonatkozó adatok visszavonása.Az kapsuláció a kód és az adatok elrejtésének a külvilágtól való visszaélésének vagy a visszaélésnek a mechanizmusa.
Kiemelte, hogy mi az objektum munkája, ahelyett, hogy az objektum működikAz objektum működésének belső részleteire összpontosít. A beállítások később módosíthatók.
Az absztrakció a külső megtekintésre összpontosít, például az autó eltolására.A beágyazás a belső munkára vagy a belső megjelenésre összpontosít, például az autó gyártására.
Az absztrakciót Java támogatja a felület és az absztrakt osztályA beágyazást például nyilvános, magán és biztonságos hozzáférés-módosító rendszerekkel támogatják.
Dióhéjban az absztrakció elrejti a megvalósítást egy interfész és egy absztrakt osztály segítségével.Dióhéjban, a beágyazás rejti az adatokat getters és setter segítségével.

Következtetés

Ebben a cikkben láttuk, mi az absztrakció vs. beágyazás, és mi a különbség közöttük. Noha mindkettő Data Reading OOP ötletek, ők teljesen különböznek egymástól. Maszkolja a háttérinformációkat és kiemeli a kritikus információs pontokat a bonyolultság csökkentése és a hatékonyság javítása érdekében. Az új követelményekkel a beágyazott kód nagyon rugalmas és könnyen megváltoztatható.

Ajánlott cikkek

Ez útmutatóként szolgál az absztrakció és a beágyazás közötti legnagyobb különbséghez. Itt is megvitatjuk az Absztrakció vs Beágyazás kulcsfontosságú különbségeket az infographics és az összehasonlító táblázat segítségével. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Mi az a C ++?
  2. CSS vs JavaScript
  3. C vs Python
  4. Útmutató a beágyazáshoz a PHP-ben

Kategória: