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

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

  • Az absztrakció csak hasznos adatokat jelenít meg a legszükségesebb részletek megadásával, míg az Encapsulation a szükséges információk kódját és adatait csomagolja.
  • Az absztrakció elsősorban arra összpontosít, hogy mit kell tenni, míg az Encapsulation arra összpontosít, hogyan kell csinálni.
  • Az absztrakció elrejti a bonyolultságot azáltal, hogy elvontabb képet ad, míg az Encapsulation elrejti a belső munkát, így később megváltoztathatja.
  • Az absztrakció segít abban, hogy a programot több független részre particionálja, míg az Encapsulation könnyen megváltoztatható az új követelményekkel.
  • A beágyazás és az absztrakció összehasonlítása során az absztrakció a tervezési szinten oldja meg a problémákat, míg az Encapsulation a megvalósítás szintjén oldja meg a problémákat.
  • Az absztrakció elrejti a kódban található irreleváns részleteket, míg az Encapsulation segít a fejlesztőknek a teljes kód egyszerű rendszerezésében.
Különbség az absztrakció és a kapszulázás között
Különbség az absztrakció és a kapszulázás között Java

Az absztrakció definíciója

Az absztrakció egy OOP fogalom, amely csak az objektum releváns adataira összpontosít. Elrejti a háttér részleteit, és kiemeli a lényeges adatpontokat a bonyolultság csökkentése és a hatékonyság növelése érdekében. Általában csak azokat az információkat őrzi meg, amelyek az adott folyamat szempontjából a legrelevánsabbak. Absztrakció A módszer elsősorban az ötletre összpontosít a tényleges működés helyett.

A tokozás definíciója

A tokozás egy olyan módszer, amellyel egy összetett rendszert könnyebben kezelhet a végfelhasználók számára. A felhasználónak nem kell aggódnia a rendszer belső részletei és összetettsége miatt. Egységbezárás egy olyan folyamat, amely az adatokat és a kódot egyetlen entitásba csomagolja, amelyek az adatokon működnek. Feltételezheti, hogy ez egy védőburkoló, amely megakadályozza a kódoláson kívül definiált kód véletlenszerű elérését.

Absztrakció vs beágyazás
Absztrakció vs beágyazás

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

Itt van a fő különbség az absztrakció és a beágyazás között:

Vizsgált paraméter Absztrakció Egységbezárás
Használ Az absztrakció megoldja a tervezési szakaszban felmerülő problémákat és problémákat. A beágyazás megoldja a megvalósítási szakaszban felmerülő problémákat és problémákat.
Összpontosít Az absztrakció lehetővé teszi, hogy arra összpontosítson, amit az objektum csinál, ahelyett, hogy hogyan teszi A beágyazás lehetővé teszi a kód és az adatok egyetlen egységbe való elrejtését, hogy megvédje az adatokat a külvilágtól.
Implementáció Az absztrakciót az Interfész és az Absztrakt osztály használatával használhatja. A tokozást a hozzáférés-módosítók (nyilvános, védett és privát) segítségével valósíthatja meg.
fókuszok Főleg arra koncentráljon, hogy mit kell tennie. Elsősorban arra összpontosítson, hogyan kell ezt csinálni.
Alkalmazás Tervezési szinten. A Megvalósítási szinten.

Miért van szükséged az absztrakcióra?

Íme a fő okok, amelyek miatt az absztrakcióra van szükség az objektum-orientált programozáshoz:

  • Segít leegyszerűsíteni a tartománymodellek ábrázolását.
  • Az absztrakció elrejti a kódban található irreleváns részleteket.
  • Az absztrakció segítségével a programot számos független fogalomra oszthatja fel.
  • A legnagyobb rugalmasságot kínálja az ADT (absztrakt adattípus) objektumok különböző helyzetekben történő használatakor

Miért van szükség kapszulázásra?

A kapszulázás fő előnyei a következők

  • Javítja az alkalmazás karbantarthatóságát.
  • Rugalmasságot biztosít a felhasználónak a rendszer egyszerű használatához
  • Segít a fejlesztőknek a kód jobb rendszerezésében
  • Megkönnyíti az általános kódolási folyamatot, mivel Ön csak azzal foglalkozik, hogy egy másik osztály mit csinál, nem pedig az, hogyan csinálja
  • Ez a módszer segíti a fejlesztőket abban, hogy „objektívebb” és eredményorientáltabbak legyenek.
  • Az Encapsulated Code meglehetősen rugalmas és könnyen módosítható az új követelményekkel.
  • A tokozás megkönnyíti az egységtesztet.
  • Lehetővé teszi a modulok összekapcsolásának csökkentését és növeli a kohéziót a modulon belül, mivel egy dolog minden darabja egy helyen van tokozva.
  • A beágyazás segít a kód egy részének megváltoztatásában anélkül, hogy a kód más részeit befolyásolná.
  • Javítja az alkalmazás kód olvashatóságát
  • Fokozott biztonság és egyszerűbbé teszi az alkalmazás karbantartását
  • A tokozási felület csak jól meghatározott interakciót tesz lehetővé.

Példa az absztrakcióra

Tegyük fel, hogy banki alkalmazást szeretne létrehozni, és a rendszer felkéri, hogy gyűjtsön össze minden információt az ügyfeléről. Valószínű, hogy a következő információkkal találkozik az ügyfélről.

Példa az absztrakcióra az OOP-ban
Példa az absztrakcióra az OOP-ban

A banki alkalmazás létrehozásához azonban nem szükséges a fenti információk mindegyike.

Tehát ebből a készletből csak a banki alkalmazáshoz szükséges hasznos információkat kell kiválasztania. Az olyan adatok, mint a név, cím, adózási információk stb., hasznosak egy banki alkalmazás számára.

Példa az absztrakcióra az OOP-ban
Példa az absztrakcióra az OOP-ban

Mivel az ügyféladatokat egy nagyobb készletből vettük/eltávolítottuk/válogattuk ki, a folyamatot absztrakciónak nevezzük.

Ugyanaz az információ azonban, ha egyszer kinyerjük, számos alkalmazáshoz felhasználható. Ugyanazokat az adatokat használhatja például kórházi jelentkezéshez, állásportál-jelentkezéshez, kormányzati adatbázishoz stb., csekély módosítással vagy anélkül. Ennélfogva ez lesz a törzsadatod. Ez az absztrakció előnye.

Példa a tokozásra

Vegyünk egy példát a mobileszközre. A mobileszközök segítségével különféle funkciókat hajthat végre, mint például fényképezés, üzenetküldés, videó/hang rögzítése, internet elérése és még sok más.

A fent említett funkciók a legtöbb okostelefon funkciói. A program használata előtt azonban nem kell megértenie ezeknek a funkcióknak a belső működési részleteit. Például nem kell tudnia, hogyan számítja ki a fényképezőgépe a gamma-korrekciót, vagy hogyan azonosítja az emberi arcot a képen. Csak meg kell tanulnia a szoftveres felületet. Ez a kapszulázás.