Zapouzdření (programování): Porovnání verzí

Smazaný obsah Přidaný obsah
m Typo
Řádek 8:
 
== Zapouzdření jako metoda pro ukrývání informací ==
Zapouzdření může být využito k ukrytí členského atributu či členské metody. Pod touto definicí, zapouzdření znamená, že interní reprezentace objektu je většinou ukrytá před vnější definicí objektu. Typicky pouze vlastní metody objektu mohou přímo nahlížet a manipulovat s členskými atributy. Některé jazyky, jako například [[Smalltalk]] a [[Ruby (programovací jazyk)|Ruby]], povolují přístup pouze skrz metody, ale většina ostatníostatních (jako je [[C++]], [[C Sharp|C#]] nebo [[Java (programovací jazyk)|Java]]), nabízí programátorům určitý stupeň kontroly nad tím, co by mělo být skryté a co ne. V tomto případě se typicky využívá klíčových slov <code>public</code> a <code>private</code><ref name=Pierce/>. Je důležité zmínit, že ISO C++ standardy specifikují tato klíčová slova (<code>protected</code>, <code>private</code> a <code>public</code>) jako přístupové specifikátory a že jako samotné neukrývají žádné informace. Ukrytí informací je docíleno za pomoci kompilované verze zdrojového kódu, který je propojen skrz hlavičkový soubor.
 
Ukrytí jakýkoliv interních informací objektu chrání jeho integritu proti uživatelům tak, aby je nebylo možné nastavit do invalidního či nekonzistentního stavu. Předpokládaná výhoda zapouzdření je ve zmenšení složitosti systému a tedy ve zvýšení robustnosti.