Rozdíl Mezi Zapouzdřením A Abstrakcí

Rozdíl Mezi Zapouzdřením A Abstrakcí
Rozdíl Mezi Zapouzdřením A Abstrakcí

Video: Rozdíl Mezi Zapouzdřením A Abstrakcí

Video: Rozdíl Mezi Zapouzdřením A Abstrakcí
Video: OOP 1 - Třídy a objekty 2024, Duben
Anonim

Zapouzdření vs abstrakce

Zapouzdření a abstrakce jsou dva různé, ale související pojmy nalezené v jazycích OOP (Object Oriented Programming). Zapouzdření je koncept kombinování dat a chování společně jako jedné entity. Na druhou stranu, Abstrakce je proces prezentace toho, jak se entita chová / vypadá na rozdíl od toho, jak je implementována.

Co je zapouzdření?

Zapouzdření je proces zabalení dat a operací, které na nich fungují, do jedné entity. To v podstatě znamená, že pro přístup k datům je třeba použít určité předdefinované metody. Jinými slovy, zapouzdřená data nejsou přímo přístupná. Tím je zajištěno, že je zachována integrita dat, protože uživatel není schopen přímo přistupovat a upravovat data tak, jak si přeje. Uživatelé získají nebo nastaví datové hodnoty pouze prostřednictvím metod, které jsou uživatelům veřejně dostupné. Tyto metody obvykle poskytují ověření dat, takže do polí je možné vkládat pouze data v příslušném formátu. Výhody zapouzdření jsou tedy trojí. Prostřednictvím zapouzdření může programátor vytvářet pole třídy pouze pro čtení nebo zápis. Za druhé,třída může mít úplnou kontrolu nad tím, co je uloženo v jejích polích. Nakonec se uživatelé třídy nemusí starat o to, jak jsou ukládána její data. V Javě může programátor deklarovat všechny proměnné instance jako soukromé a poskytnout metody get a set (které jsou veřejné) pro přístup a úpravu soukromých polí.

Co je to abstrakce?

Abstrakce je proces oddělování podrobností prezentace od podrobností implementace. To se děje tak, že vývojář je osvobozen od složitějších podrobností implementace. Místo toho se programátor může zaměřit na prezentaci nebo podrobnosti chování entity. Jednoduše řečeno, abstrakce se zaměřuje na to, jak lze určitou entitu použít spíše než na to, jak je implementována. Abstrakce v podstatě skrývá podrobnosti implementace, takže i když se metodika implementace v průběhu času mění, programátor by se nemusel bát, jak by to ovlivnilo jeho program. Systém lze abstrahovat v několika vrstvách nebo úrovních. Například nízkoúrovňové abstrakční vrstvy odhalí podrobnosti o hardwaru, zatímco abstrakce na vysoké úrovni odhalí pouze obchodní logiku entity. Termín abstrakce lze použít k označení jak entity, tak procesu, což vede k určité nejasnosti. Jako proces znamená abstrakce extrakci podstatných detailů při ignorování nepodstatných detailů položky nebo skupiny položek, zatímco jako entita abstrakce znamená model nebo pohled na entitu pouze se základními detaily. V Javě může programátor pomocí klíčového slova abstract deklarovat třídu jako abstraktní entitu, která představuje základní definující charakteristiky entity reálného světa.programátor může pomocí klíčového slova abstract deklarovat třídu jako abstraktní entitu, která představuje základní definující charakteristiky entity reálného světa.programátor může pomocí klíčového slova abstract deklarovat třídu jako abstraktní entitu, která představuje základní definující charakteristiky entity reálného světa.

Jaký je rozdíl mezi zapouzdřením a abstrakcí?

I když jsou zapouzdření a abstrakce vysoce souvisejícími koncepty v objektově orientovaných programovacích jazycích, mají klíčové rozdíly. Abstrakce je technika, která nám pomáhá identifikovat, co by mělo být viditelné a co by mělo být skryto. Zapouzdření je technika balení informací tak, aby zviditelnilo, co by mělo být viditelné, a skrylo, co by mělo být skryté. Jinými slovy lze Encapsulation identifikovat jako jeden krok za hranicí abstrakce. Zatímco abstrakce redukuje objekt reálného světa na jeho základní definující charakteristiky, zapouzdření rozšiřuje tuto myšlenku modelováním a propojením této funkce dané entity.

Doporučená: