Obsah:
Definice - Co znamená zapouzdření?
Zapouzdření v kontextu C # označuje schopnost objektu skrýt data a chování, které nejsou pro jeho uživatele nutné. Zapouzdření umožňuje, aby skupina vlastností, metod a dalších členů byla považována za jednu jednotku nebo objekt.
Výhody zapouzdření jsou následující:
- Ochrana dat před náhodným poškozením
- Specifikace přístupu každého člena třídy k kódu mimo třídu
- Flexibilita a rozšiřitelnost kódu a snížení složitosti
- Nižší vazba mezi objekty a tím i zlepšení údržby kódu
Zapouzdření se používá k omezení přístupu k členům třídy tak, aby uživatel dané třídy nemohl manipulovat s objekty způsobem, který není určen konstruktérem. Zatímco zapouzdření skrývá vnitřní implementaci funkcí třídy, aniž by to ovlivnilo celkové fungování systému, umožňuje třídě obsluhovat požadavek na funkčnost a přidávat nebo upravovat její vnitřní strukturu (data nebo metody), aby vyhovovaly měnícím se požadavkům.
Zapouzdření je také známé jako skrytí informací.
Techopedia vysvětluje zapouzdření
Zapouzdření v C # je implementováno s různými úrovněmi přístupu k objektovým datům, které lze specifikovat pomocí následujících modifikátorů přístupu:
- Veřejné: Přístup ke všem kódům v programu
- Soukromé: Přístup pouze k členům stejné třídy
- Chráněno: Přístup k členům stejné třídy az ní odvozeným třídám
- Interní: Přístup k aktuální sestavě
- Chráněné interní: Přístup k aktuální sestavě a typům odvozeným od třídy obsahující
Zapouzdření lze ilustrovat na příkladu objektu zaměstnance, který ukládá podrobnosti o tomto objektu. Pomocí zapouzdření může objekt Zaměstnanec odhalit data (jako Jméno, Identifikátor zaměstnance atd.) A metody (jako GetSalary) nezbytné pro použití objektu, zatímco skrývá jeho irelevantní pole a metody před jinými objekty. Je snadné vidět situaci, kdy by všichni uživatelé měli přístup k základním informacím o zaměstnanci a zároveň omezovali informace o platech.
C # umožňuje zapouzdření dat pomocí přístupů (k získání dat) a mutátorů (k úpravě dat), které pomáhají při nepřímé manipulaci se soukromými údaji bez jejich zveřejnění. Vlastnosti jsou alternativní mechanismus pro soukromá data, která mají být zapouzdřena do objektu C # a která jsou přístupná v režimu pouze pro čtení nebo v režimu čtení a zápis. Na rozdíl od přístupu a mutátoru poskytuje vlastnost jediný přístupový bod k hodnotám „set“ a „get“ objektu.
