Rozdiel medzi abstrakciou údajov a zapuzdrením

Obsah:

Anonim

Hlavný rozdiel medzi abstrakciou údajov a zapuzdrením je ten, že abstrakcia údajov skrýva podrobnosti o implementácii a používateľovi ukazuje iba funkcionalitu, aby sa znížila zložitosť kódu, zatiaľ čo zapuzdrenie viaže alebo balí údaje a metódy dohromady do jednej jednotky a skrýva podrobnosti o ochrane údajov.

Objektovo orientované programovanie (OOP) pomáha modelovať scenáre reálneho sveta do softvéru. Je to paradigma alebo metodika na navrhnutie programu pomocou tried a objektov. Trieda je plán na vytvorenie objektu. Inými slovami, je to štruktúra na vytváranie objektov. Skladá sa z atribútov a metód. Atribúty opisujú vlastnosti alebo údaje, zatiaľ čo metódy opisujú operácie alebo správanie. Bez tried nie je možné vytvárať objekty. Preto je objekt inštanciou triedy. Abstrakcia údajov a enkapsulácia sú v OOP dva koncepty.

Abstrakcia údajov, zapuzdrenie, OOP

Čo je to abstrakcia údajov

Abstrakcia údajov sa týka skrývania vnútorných podrobností a iba zobrazovania funkčnosti. Inými slovami, skrýva detaily implementácie a iba predstavuje funkcie vonkajšiemu svetu. Príkladom zo skutočného sveta je televízia. Užívateľ nemusí poznať vnútorné elektronické obvody a funkcie na sledovanie televízie. Ďalším príkladom je používanie mobilného telefónu. Užívateľ nemusí poznať interné spracovanie. Potrebuje iba poznať hlavné funkcie, ako je telefonovanie, odosielanie správ alebo prehliadanie internetu.

Data Abstraction poskytuje výhody vo vývoji softvéru. Najdôležitejšie je, že znižuje zložitosť kódu. Navyše skrýva detaily a odhaľuje základné vlastnosti. Podporné jazyky OOP pomáhajú dosiahnuť abstrakciu údajov pomocou abstraktných tried a rozhraní.

Čo je to zapuzdrenie

Zapuzdrenie kombinuje údaje a metódy do jednej jednotky. Hlavným cieľom zapuzdrenia je zabezpečiť údaje. Je to podobné ako v lekárskej kapsule. Medicína je vo vnútri kapsuly a je pokrytá a chránená pred vonkajším svetom.

Obrázok 01: Zapuzdrenie

Metóda na dosiahnutie zapuzdrenia je pomocou úprav prístupu, ako sú „súkromné“ a „verejné“. Menia viditeľnosť údajov alebo metód. Súkromní členovia sú prístupní iba v rámci triedy, zatiaľ čo verejní členovia sú prístupní v rámci triedy a iných tried.

Zapuzdrenie v jazyku OOP je možné implementovať tak, že dátové členy alebo vlastnosti sa stanú súkromnými a budú k nim pristupovať prostredníctvom verejných metód, ako sú napríklad getre a settery. Podobne zapuzdrenie zhutní údaje a metódu do jednej jednotky. Navyše poskytuje ochranu údajov.

Rozdiel medzi abstrakciou údajov a zapuzdrením

Definícia

Data Abstraction je koncept OOP, ktorý skrýva detaily implementácie a používateľovi ukazuje iba funkcionalitu. Encapsulation je koncept OOP, ktorý spája alebo balí údaje a metódy do jednej jednotky.

Hlavné použitie

Abstrakcia údajov skrýva podrobnosti implementácie, aby sa znížila zložitosť kódu, zatiaľ čo zapuzdrenie skrýva údaje na účely ochrany údajov. Toto je hlavný rozdiel medzi abstrakciou údajov a zapuzdrením, pokiaľ ide o ich použitie.

Spôsob dosiahnutia

Jazyky OOP používajú na dosiahnutie abstrakcie údajov abstraktné triedy a rozhrania. Naopak, jazyky OOP môžu dosiahnuť zapuzdrenie tým, že urobia členov údajov súkromnými a budú k nim pristupovať prostredníctvom verejných metód.

Záver

Abstrakcia údajov a enkapsulácia sú dva pojmy v OOP (objektovo orientované programovanie). Rozdiel medzi abstrakciou údajov a zapuzdrením je v tom, že abstrakcia údajov skrýva detaily implementácie, aby sa znížila zložitosť kódu, zatiaľ čo zapuzdrenie skrýva detaily na ochranu údajov.

Referencia:

1. Výučba bod. "Zapuzdrenie Java." Www.tutorialspoint.com, Tutorials Point, 24. marca 2018, dostupné tu.2. „Abstrakcia v Jave“. GeeksforGeeks, 14. novembra 2017, K dispozícii tu. 3. „Zapuzdrenie v Jave“. Javatpoint, k dispozícii tu.

Rozdiel medzi abstrakciou údajov a zapuzdrením