Hlavný rozdiel: abstrakcia a zapuzdrenie sú koncepcie programovania vedy o počítačoch. Abstrakcia je proces, pri ktorom sú charakteristické znaky údajov odstránené alebo oddelené od údajov. zatiaľ čo zapuzdrenie je mechanizmus, v ktorom sú údaje skryté a zviazané v metódach.
Abstrakcia je zovšeobecnený proces, v ktorom sa extra údaje odoberajú a odstraňujú, aby sa údaje dali konkrétne. V počítačoch je to programovacia metóda, ktorá pomáha pri konverzii údajov do stručnej podoby. Údaje a program sa v tejto metóde nezmenia, skôr sa uchovávajú v rovnakej počiatočnej podobe; jediný rozdiel je, že sú redukované na menšiu prezentovateľnú formu. Abstrakcia sa pokúša znížiť a vyčísliť detaily, aby sa programátor mohol sústrediť na niekoľko konceptov súčasne.
Systém môže mať mnoho takýchto vrstiev abstrakcií, ktoré majú rôzne významy a detaily. Napríklad abstrakčné vrstvy s nízkou úrovňou zobrazujú detaily počítačového hardvéru, na ktorom program beží, zatiaľ čo vrstvy na vysokej úrovni sa zaoberajú obchodnou logikou programu. Tieto detaily sú potom vystavené programátorovi v čase realizácie. Abstrakcia je koncept alebo myšlienka, ktorá nie je spojená s konkrétnou inštanciou. Zachytáva iba tie detaily údajov, ktoré sa týkajú jej objektov a súčasných perspektív. Zohráva dôležitú úlohu v rodine objektov (v koncepciach Object-Oriented-Programming). a používa sa rôznymi spôsobmi a implementáciami.
Koncept abstrakcie sa môže implementovať v:
- Riadenie abstrakcie: Ide o abstrakciu akcií.
- Abstrakcia údajov: Umožňuje a spracuje dátové bity a dátové štruktúry zmysluplným spôsobom.
Zapuzdrenie v počítačovom programovaní zdôrazňuje svoje funkcie do dvoch rôznych zápisov, sú tieto:
- Jazykový mechanizmus, ktorý obmedzuje prístup k niektorým komponentom objektu.
- Jazyková konštrukcia, ktorá uľahčuje zlučovanie údajov s metódami (a ďalšími funkciami), ktoré pracujú s týmito údajmi.
Zapuzdrenie je skrývacie mechanizmy, ktoré zohrávajú dôležitú úlohu pri ochrane a zabezpečovaní údajov od nečlenov. V skutočnosti poskytuje základnú integritu údajov zabránením zneužitiu reálnych údajov. V zapuzdrení sa dáta ukladajú a pristupujú v pôvodnom platnom a konzistentnom formáte.
Vo všeobecnosti zapuzdrenie znamená zachovanie objektu od užívateľa a jeho zastupovanie vo všeobecnej forme. V zásade je v zapuzdrení dodatočné detaily skryté z vonkajšieho prostredia. Polia objektov sú priamo kontrolované a manipulované v tomto mechanizme. Informácie skryté spolu s vybavením sú zostavené vo verzii, ktorá sa ďalej používa ako zdrojový kód a je prepojená prostredníctvom súboru hlavičky. Niekedy sa verejné triedy pokúšajú získať prístup k údajom, v týchto prípadoch zapuzdrenie neumožňuje verejným útočníkom hrať s údajmi. Jednou z hlavných výhod zapuzdrenia je, že pomáha pri znižovaní zložitosti programu a pomáha užívateľom porozumieť presným konceptom programu, pretože mechanizmy predstavujú len stručnú formu programu. To zvyšuje robustnosť tým, že umožňuje vývojárovi alebo programátorovi obmedziť vzájomné závislosti medzi softvérovými komponentmi. Zapuzdrenie je možné použiť aj v niektorých jazykoch, ako napríklad Smalltalk a Ruby, v ktorých je prístup povolený len pomocou objektových metód; zatiaľ čo väčšina ostatných rád, C ++, C # alebo Java ponúka určitú mieru kontroly pre programátora. Tieto jazyky umožňujú vývojárom prístup k tomu, čo je skryté pomocou kľúčových slov, ako sú verejné a súkromné.
Abstrakcia a zapuzdrenie sú tiež dôležitými základmi v OOP (Object-Oriented-Programming).
Porovnanie medzi abstrakciou a zapuzdrením:
abstrakcie | zapuzdrenie | |
Stručný opis | Abstrakcia je proces, ktorý extrahuje základné detaily o položke alebo skupine položiek a ignoruje nepodstatné podrobnosti. | Zapuzdrenie je proces, ktorý obopína alebo obklopuje dáta v kapsule alebo vytvára údaje stručné. |
Oni sú | Abstrakcia súvisí s myšlienkou skrývania údajov, ktoré nie sú potrebné na prezentáciu. | Zapuzdrenie zoskupuje údaje a funkčnosť. |
Základné funkcie | V podstate sa abstrakcia používa na skrytie nežiaducich údajov a poskytuje príslušné údaje. | V podstate zapuzdrenie znamená skrytie kódu a dát do jednej jednotky, aby sa chránili dáta pred vonkajším svetom. |
Kedy sú operované | Ovládanie problému na úrovni návrhu. | Spravuje problém na úrovni implementácie. |
Pre roly je prospešné | Pomáha používateľovi sústrediť sa na to, čo objekt robí namiesto toho, ako to robí nejakú funkciu. | Pomáha programátorovi skrývať vnútorné detaily alebo mechaniku toho, ako objekt robí niečo. |
Informácie sú | Tu sú informácie oddelené od skutočných údajov. | Informácie tu sú zabalené v skrytom formáte. |
rozvrhnutie | Týka sa to vonkajšieho usporiadania, ktoré sa používa z hľadiska dizajnu. | Týka sa to vnútorného usporiadania, ktoré sa používa z hľadiska implementácie. |
Napríklad | Vonkajší vzhľad mobilného telefónu, ktorý má displej a tlačidlá na klávesnici, umožňuje vytočiť číslo. | Vnútorné detaily implementácie mobilného telefónu, ako sú tlačidlá klávesnice a obrazovka displeja navzájom prepojené obvodmi. |