Java: Modifikátory přístupu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Oprava odkazu na stránku s OOP)
(Přidán běžný význam, opraveny chyby)
Řádka 1: Řádka 1:
 
[[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]]
 
[[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]]
  
Upravují přístup k metodám a atributům třídy.
+
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ů ==
  
 
; <code>private</code>
 
; <code>private</code>
* Přístupnost pouze ze tříd ve stejném balíčku.
+
* Přístup pouze z dané třídy.
 
* Žádná jiná třída nemůže přistupovat.
 
* Žádná jiná třída nemůže přistupovat.
* Implicitní volba (zvoleno automaticky, když neuvedeme).
 
 
; <code>protected</code>
 
; <code>protected</code>
* Přístup mají navíc potomci třídy (třídy, které jsou potomky této třídy).
+
* Přístup mají navíc potomci třídy (subclass, třídy, které dědí tuto třídu).
 
* Viz [[Objektově orientované programování|OOP — dědičnost]].
 
* Viz [[Objektově orientované programování|OOP — dědičnost]].
 
; <code>public</code>
 
; <code>public</code>
* Přístupnost z libovolné třídy
+
* Přístupnost z libovolné třídy.
 
* Libovolné třídy mohou přistupovat k tomuto atributu/metodě.
 
* Libovolné třídy mohou přistupovat k tomuto atributu/metodě.
 +
; Žádný modifikátor
 +
* Pokud neuvedeme žádný modifikátor, mají přístup třídy ve stejném balíčku (package).
  
 
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í ==
 +
 +
; Třídy
 +
* 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
 +
 +
; Atributy
 +
* 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'']])
 +
* Často se ale atributy uvádí bez modifikátoru, čímž jsou teoreticky přístupné ze tříd daného balíčku.
 +
 +
; Metody
 +
* 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>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.

Verze z 21. 11. 2013, 08:41


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.

Běžné použití

Třídy
Atributy
Metody
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje