Zapouzdření (programování)

V programování se zapouzdřením rozumí seskupení dat se sadou rutin, které umožňují jejich čtení a manipulaci. Tento princip je často doprovázen maskováním těchto nezpracovaných dat, aby bylo zajištěno, že uživatel neobejde rozhraní pro něj určené. Celok je poté považován za černou skříňku se specifikovaným chováním a vlastnostmi.

Zapouzdření je základem objektově orientovaného programování , kde každá třída definuje metody nebo vlastnosti pro interakci s datovými členy, ale tento princip lze nalézt v jiných stylech programování (např. Modulární programování ).

Motivace

Implementace

Principy zapouzdření jsou aplikovány velmi odlišnými způsoby v závislosti na jazyce. Stále však můžeme najít dva hlavní proudy.

Zaprvé, relativně přísné uplatňování zásad v čistě objektových jazycích (pokud má tento pojem jakýkoli význam), jako v SmallTalk nebo Eiffel . V této souvislosti jsou atributy často k dispozici pouze pro čtení obecně v programu a také pro zápis zevnitř třídy objektu. Poté najdeme různé způsoby přizpůsobení tohoto rámce přátelským třídám nebo kategoriím a hierarchiím objektů.

Zadruhé, jazyky jako C ++ , Java nebo Ruby a obecněji všechny jazyky ovlivněné syntaxí C ++, která nabízí tři úrovně viditelnosti:

Tento typ zapouzdření ve skutečnosti poskytuje další přístup k zapouzdření, který nerozlišuje mezi čtením a zápisem atributu. V této souvislosti je také možné použít přístupové a modifikační metody definované v jedné z těchto úrovní viditelnosti podle efektu, který si přeje dosáhnout. Kromě atributu, který ve skutečnosti obsahuje data, jsou často definovány metody obou typů. Konečně prostředky umožňují ostatním volným třídám a funkcím volný přístup ke všem atributům třídy, jako je tomu u tříd a přátelských funkcí v C ++.

Poznámky a odkazy

  1. (in) Wm. Paul Rogers , „  Zapouzdření neskrývá informace  “ , JavaWorld ,18. května 2001( číst online , konzultováno 9. prosince 2016 )

Podívejte se také