Java: Modifikátory přístupu
Z MiS
Upravují přístup k metodám a atributům třídy. Říkají, kdo (které třídy) mohou volat metody resp. přistupovat k atributům třídy.
Význam modifikátorů
-
private
- Přístup pouze z dané třídy.
- Žádná jiná třída nemůže přistupovat.
-
protected
- Přístup mají navíc potomci třídy (subclass, třídy, které dědí tuto třídu).
- Viz OOP — dědičnost.
-
public
- Přístupnost z libovolné třídy.
- Libovolné třídy mohou přistupovat k tomuto atributu/metodě.
- Žádný modifikátor
- Pokud neuvedeme žádný modifikátor, mají přístup jen třídy ve stejném balíčku (package).
- (Je to tedy významově podobné jako
private
, ale třídy stejného balíčku mají vyjímku.)
Více viz: Dokumentace Javy.
Který modifikátor zvolit?
- Pro třídy
- v jednoduchých projektech většinou používáme s modifikátorem
public
- vyjímečně bez modifikátoru, když se jedná o pomocnou třídu, kterou nemá být vidět mimo náš balíček
- Pro atributy
- běžně bychom s atributy měli pracovat, jako by byly
private
- v objektovém programování by třída měla vždy své atributy upravovat sama (zapouzdření ~ encapsulation)
- Často se ale atributy uvádí bez modifikátoru, čímž jsou teoreticky přístupné ze tříd daného balíčku.
- Pro metody
- Zde využijeme všechny varianty modifikátorů. Je třeba rozhodnout, jaký přístup pro danou metodu chceme.
-
private
pro pomocné metody, které nemají být přístupné z jiných tříd. -
protected
pomocné metody, u kterých počítáme s tím, že by je mohly používat i odvozené třídy. -
public
metody rozhraní, kterými komunikujeme s dalšími třídami.