Zapouzdření znamená spojení dat a funkcí, které s těmito daty pracují, do jediné jednotky, jako je třída. V Objektově orientované programování pomáhá udržovat věci organizované a bezpečné.
- Třída může skrýt implementační část a odhaluje pouze funkce požadované jinými třídami. Vytvořením soukromých reprezentací nebo implementací dat třídy a metod lze později změnit bez dopadu na kódy, které tuto třídu používají.
- Pomáhá k lepší čitelnosti a použitelnosti údržby. Pomáhá také udržovat integritu dat tím, že umožňuje validaci a kontrolu nad hodnotami přiřazenými proměnným.
ZapouzdřeníImplementace zapouzdření v Javě
- Prohlásit data jako soukromá: Skryjte data třídy, aby k nim nebylo možné přistupovat přímo mimo třídu.
- Použijte getry a settery: Udržujte proměnné soukromé a poskytujte veřejné metody získávání a nastavování pro řízený přístup a bezpečnou modifikaci často s ověřením.
- Použijte správné modifikátory přístupu: Použijte soukromé pro skrytí dat a veřejné pro metody, které poskytují přístup.
class Programmer { private String name; // Getter method used to get the data public String getName() { return name; } // Setter method is used to set or modify the data public void setName(String name) { this.name = name; } } public class Geeks { public static void main(String[] args){ Programmer p = new Programmer(); p.setName('Geek'); System.out.println('Name=> ' + p.getName()); } }
Výstup
Name=> Geek
Vysvětlení: Ve výše uvedeném příkladu použijeme zapouzdření a použijeme getter ( getName) a setr ( setName) metody, které se používají k zobrazení a úpravě soukromých dat. Tento mechanismus zapouzdření chrání vnitřní stav objektu Programmer a umožňuje lepší kontrolu a flexibilitu při přístupu k atributu name a jeho úpravě.
Výhody zapouzdření
Výhody zapouzdření jsou uvedeny níže:
- Skrytí dat: Zapouzdření omezuje přímý přístup k proměnným třídy a chrání citlivá data před neoprávněným přístupem.
- Vylepšená údržba: Změny interní implementace lze provést bez ovlivnění externího kódu, který třídu používá.
- Vylepšené zabezpečení: Zapouzdření umožňuje ověření a kontrolu nad daty a zabrání tak nastavení neplatných nebo škodlivých hodnot.
- Znovupoužitelnost kódu: Zapouzdřené třídy lze znovu použít v různých programech bez odhalení vnitřní logiky.
- Lepší modularita: Zapouzdření podporuje organizovaný modulární kód tím, že udržuje data a metody pohromadě v rámci třídy.
Nevýhody zapouzdření
Nevýhody zapouzdření jsou uvedeny níže:
- Zvýšená složitost kódu: Zápis metod getter a setter pro každou proměnnou může kód prodloužit a mírně zkomplikovat.
- Režie výkonu: Přístup k datům prostřednictvím metod namísto přímého může představovat menší náklady na výkon, zejména v aplikacích kritických pro výkon.
- Menší flexibilita v některých případech: Přílišné omezení přístupu ke členům třídy může omezit schopnost jiných tříd rozšířit nebo efektivně používat třídu.