Abstrakce a zapouzdření jsou obě základní koncepty objektově orientovaného programování (OOP), které umožňují začlenění objektů reálného světa do programů a kódů. Když se oba spojí, jsou od sebe velmi odlišné. Ačkoli každá metoda je zapouzdřena, je abstraktní. Jednoduše řečeno, když zkombinujete různé věci a vytvoříte jednotlivce, vytvoříte vlastně koncept - abstrakt. Přestože jsou oba technicky oddělené, doslova neexistují. Je téměř pravda, že každé zapouzdření je abstraktní, protože skrývají oba, ale rozdíly jsou stejné.

Jaký je závěr?

Abstrakce je klíčový koncept OOP, který se zaměřuje pouze na informace specifické pro objekt a zakrývá všechny nedůležité informace, které mohou nebo nemusí být obecné nebo specializované. Skryje zpět detaily a zdůrazňuje důležité aspekty pro snížení složitosti a zvýšení efektivity. V zásadě je abstrakce softwarovým nástrojem pro správu složitosti. Abstrakce se zaměřuje na myšlenky, nikoli na události. Skryje data na úrovni návrhu tím, že poskytuje uživatelům funkčnost. Výsledný objekt lze také nazvat abstraktem. Programátor zajišťuje, že pojmenovaný objekt obsahuje všechny náležitosti a že není triviální.

Vezměte příklad skutečné abstrakce. V takovém případě zvažte stav vozidla, které je vaším vozidlem. Mechanik se pokusí opravit auto nebo řekněme určitou část vašeho auta. Zde jste uživatel a nechcete přistupovat k funkcím vašeho stroje nebo k jeho části, která je ve skutečnosti poškozena. Na těch věcech vám opravdu nezáleží; Chcete, aby se vaše auto vrátilo do původního stavu, aniž byste se museli starat o podrobnosti. Takže jste vlastně řekl mechanikovi, co chcete dělat, izolováním části plnění. Toto je abstraktní. Soustředili jste se na nejdůležitější věc, kterou chcete opravit, ne na své funkce.

Rozdíl mezi abstrakcí a zapouzdřením

Co je to zapouzdření?

Zapouzdření je další koncept OOP, který kombinuje data a funkce do jedné části a omezuje přístup k určitým částem. Je to jeden ze základních konceptů OOP, který kombinuje data a informace do jedné jednotky. Z technického hlediska zahrnuje zapouzdření skrytí atributů, které je chrání před vnějším přístupem, takže změny v jedné části programu neovlivní ostatní komponenty. Naopak, díky zpřehlednění dat jste vystaveni riziku zneužití. Poskytuje základní integritu tím, že chrání data před vnějším světem. Jednoduše řečeno, skrývá další podrobnosti z vnějšího světa.

Vezměte si příklad myši Bluetooth. Musíte pouze vědět, jaký druh myši je senzor, zda je bezdrátový nebo ne, jako například to, jak zařízení funguje, aniž byste se museli starat o podrobnosti implementace. Každý detail charakterizuje myš, ale i přes detaily je to pouze myš. Pro použití myši potřebujete pouze rozhraní, v tomto případě ukazatel myši. Je to tobolka.

Rozdíl mezi abstrakcí a zapouzdřením

I když jsou oba základní pojmy související s OOP a jsou technicky propojené, mají mnoho rozdílů.

  1. Rozdíly v „definici“ abstrakce a zapouzdření - Abstrakce je klíčovým konceptem OOP a zdůrazňuje všechny důležité aspekty objektu skrýváním nevýznamných detailů, aby se zvýšila účinnost a eliminovala složitost. Zapouzdření je zase mechanismem pro skrytí informací a umísťování informací a dat do kapsle, aby se omezil přístup do vnějšího světa. Rozdíly ve "funkčnosti" abstrakce a zapouzdření - abstrakce je mechanismus pro utajování informací, který zdůrazňuje pouze základní vlastnosti pro zjednodušení složitých aplikací, na druhé straně, způsob, jakým jsou data a kódy spojeny s jedním objektem. Cílem je chránit podrobnosti implementace před externím přístupem. Rozdíly mezi abstrakcí a zapouzdřením - abstrakce se provádí pomocí abstraktní třídy a rozhraní a zapouzdření pomocí modifikátorů vstupu. K zapouzdření dat se používá pět různých modifikátorů: soukromé, veřejné, interní, interně chráněné a chráněné. Rozdíly v „konceptu“ abstrakce a zapouzdření jsou tím, co se zaměřuje na to, co není myšlenkou abstrakce. Zapouzdření skrývá svou vnitřní mechaniku. Například, když řídíte auto, víte přesně, co brzdový pedál dělá, ale možná neznáte jeho mechanismus úplně, protože data jsou převrácena. Diferenciace "abstrakce" a "zapouzdření" - Vezměme si jako příklad smartphone. Víte, co dělá, ale možná nevíte, jak to dělá. Nezajímá vás pouze vnitřní obvod, ale také displej a klávesnice. Zde je smartphone abstraktní a zahrnuje podrobnosti o interní implementaci.

Srovnávací tabulka a abstrakt

Shrnutí

Přestože oba jsou pojmy OOP související s úkryty dat, jsou od sebe velmi odlišné. Abstrakce se také vztahuje na utajování, jako je zapouzdření, ale první skrývá složitost, zatímco druhá kontroluje přístup k ní a ukládá informace, které obsahuje. Abstrakce je koncept zobrazování pouze nezbytných funkcí skrýváním nevýznamných detailů, aby se snížila složitost aplikace. Zapouzdření zase znamená koncept skrytí veškeré vnitřní mechaniky programu, aby byla data chráněna před nežádoucím přístupem. Omezuje přístup k jiným komponentám a kombinuje data a data do jedné komponenty.

Reference

  • Koupit. Objektově orientované programování s Java: Základy a aplikace. NYC: Tata McGraw-Hill Education, 2009. Tisk
  • McConnell, Steve. Kód dokončen (2. vydání). London: Pearson Education, 2004. Tisk
  • Michelsen, Klaus. C # Primer Plus. Indianapolis: Sams Publishing, 2002. Tisk
  • "Image Credit: https://stackoverflow.com/questions/742341/difference-between-abstraction-and-encapsulation"