Viditeľnosť premenných, najmä pri vlastnostiach a metódach v objektovo orientovanom programovaní, je kľúčový koncept, ktorý je mimoriadne dôležitý pre každého vývojára. Najmä v PHP určujú modifikátory viditeľnosti public, private a protected, kto má prístup k určitým vlastnostiam a metódam. Tieto koncepty pomáhajú implementovať enkapsuláciu údajov, čím sa objektovo orientované programy stávajú robustnejšími a udržateľnejšími. V tejto príručke sa naučíš, ako sú tieto modifikátory používané a aké následky môžu mať na štruktúru tvojho programovania.
Najdôležitejšie zistenia
- public: vlastnosti sú prístupné zo všetkých miest.
- private: vlastnosti sú prístupné iba v rámci samotnej triedy.
- protected: vlastnosti sú prístupné v rámci triedy a odvozených tried.
Príručka krok za krokom
1. Vytvorenie jednoduchej triedy s verejnou vlastnosťou
Ako úvod vytvoríme triedu Auto, v ktorej definujeme verejnú vlastnosť s názvom Rýchlosť. To ti poskytne jasný obraz o tom, ako môžeš na túto vlastnosť pristupovať zvonku.

Teraz môžeš vytvoriť objekt tejto triedy:

Akonáhle nastavíš rýchlosť auta na 30, 50 alebo dokonca 130, nemáš žiadne obmedzenia – to je sila verejnej viditeľnosti.
2. Zavedenie maximálnej rýchlosti s privátnou vlastnosťou
Teraz pridáme privátnu vlastnosť maximálnarýchlosť a zmeníme metódu tak, aby nastavovala len povolené rýchlosti. Týmto spôsobom môžeš zabezpečiť, že sa priraďujú iba platné hodnoty.
Pomocou tejto metódy môžeš nastaviť rýchlosť a zároveň zabezpečiť, že nedôjde k chybám v dôsledku príliš vysokých hodnôt.

3. Používanie getter a setter metód pre privátne vlastnosti
Ako je maximálnarýchlosť privátna, môžeš ju sprístupniť iba prostredníctvom metód v rámci triedy. Nasledujúci príklad ukazuje, ako implementovať getter a setter metódy.

Prostredníctvom týchto metód dosiahneš enkapsuláciu a kontrolu nad vlastnosťami zvonku.

4. Pochopenie protected modifikátora
Teraz sa pozrieme na protected modifikátor. Ten poskytuje triedam, ktoré dedí od iných tried, prístup k určitým vlastnostiam. To znamená, že podtriedy môžu naďalej používať alebo prepisovať konkrétnu metódu alebo vlastnosť.

V tomto prípade môže pretekárske auto pristupovať k ochrannej vlastnosti, zatiaľ čo vonkajšie triedy k tomu nemajú prístup. Týmto sa umožňuje kódovanie špecifického správania pre odvozené triedy.
5. Rozhodovanie o viditeľnosti
Dôležité rozhodnutie, ktoré musíš urobiť, sa týka viditeľnosti tvojich vlastností. Základne by si mal používať privátne vlastnosti, pokiaľ nie je zrejmé, že nejaká vlastnosť je potrebná v rámci dedičstva. V takom prípade zvoľ protected.

Pritom nezabúdaj, že ak si v štádiu údržby alebo pracuješ na novej funkcii, svoje prístupové kontroly môžeš neskôr zmeniť, ak to bude potrebné.
Zhrnutie – Viditeľnosť vlastností: public, private a protected v PHP
Viditeľnosť vlastností v PHP je rozhodujúca pre porozumenie enkapsulácii údajov a objektovo orientovanému programovaniu. S modifikátormi public, private a protected môžeš dosiahnuť presnosť a kontrolu nad prístupom k vlastnostiam a metódam vo svojich triedach. Správnym použitím týchto princípov výrazne zlepšíš údržbovosť a bezpečnosť svojho kódu.
Často kladené otázky
Čo znamená public v PHP?public znamená, že vlastnosť alebo metóda je prístupná z akéhokoľvek miesta.
Čo znamená private v PHP?private znamená, že vlastnosť alebo metóda môže byť volaná iba vlastnou triedou.
Čo znamená protected v PHP?protected znamená, že vlastnosť alebo metóda môže byť volaná vlastnou triedou a odvozenými triedami.
Kedy by som mal použiť private?Mal by si štandardne používať private, aby si maximalizoval viditeľnosť a kontrolu.
Kedy môžem prejsť na protected?Prejdi na protected, ak je vlastnosť potrebná v odvozených triedach a chceš zabrániť prístupu zvonka.