Java: Modifikátory přístupu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Význam modifikátorů: Podrobnější specifikace bez modif.)
m (Běžné použití: Drobná přeformulace nadpisu pro ujasnění.)
 
Řádka 20: Řádka 20:
 
Více viz: [http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html Dokumentace Javy].
 
Více viz: [http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html Dokumentace Javy].
  
== Běžné použití ==
+
== Který modifikátor zvolit? ==
  
; Třídy
+
; Pro třídy
 
* v jednoduchých projektech většinou používáme s modifikátorem <code>public</code>
 
* v jednoduchých projektech většinou používáme s modifikátorem <code>public</code>
 
* vyjímečně bez modifikátoru, když se jedná o pomocnou třídu, kterou nemá být vidět mimo náš balíček
 
* vyjímečně bez modifikátoru, když se jedná o pomocnou třídu, kterou nemá být vidět mimo náš balíček
  
; Atributy
+
; Pro atributy
 
* běžně bychom s atributy měli pracovat, jako by byly <code>private</code>
 
* běžně bychom s atributy měli pracovat, jako by byly <code>private</code>
 
* v objektovém programování by třída měla vždy své atributy upravovat sama ([[Objektově_orientované_programování#Rysy_OOP|zapouzdření ~ ''encapsulation'']])
 
* v objektovém programování by třída měla vždy své atributy upravovat sama ([[Objektově_orientované_programování#Rysy_OOP|zapouzdření ~ ''encapsulation'']])
 
* Často se ale atributy uvádí bez modifikátoru, čímž jsou teoreticky přístupné ze tříd daného balíčku.
 
* Často se ale atributy uvádí bez modifikátoru, čímž jsou teoreticky přístupné ze tříd daného balíčku.
  
; Metody
+
; Pro metody
 
* Zde využijeme všechny varianty modifikátorů. Je třeba rozhodnout, jaký přístup pro danou metodu chceme.
 
* Zde využijeme všechny varianty modifikátorů. Je třeba rozhodnout, jaký přístup pro danou metodu chceme.
 
* <code>private</code> pro pomocné metody, které nemají být přístupné z jiných tříd.
 
* <code>private</code> pro pomocné metody, které nemají být přístupné z jiných tříd.
 
* <code>protected</code> pomocné metody, u kterých počítáme s tím, že by je mohly používat i odvozené třídy.
 
* <code>protected</code> pomocné metody, u kterých počítáme s tím, že by je mohly používat i odvozené třídy.
 
* <code>public</code> metody rozhraní, kterými komunikujeme s dalšími třídami.
 
* <code>public</code> metody rozhraní, kterými komunikujeme s dalšími třídami.

Aktuální verze z 1. 12. 2015, 14:15


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
protected
public
Žádný modifikátor

Více viz: Dokumentace Javy.

Který modifikátor zvolit?

Pro třídy
Pro atributy
Pro metody
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje