[[oktatas:programozás:php:php oop|< PHP OOP]] ====== PHP OOP tagok láthatósága ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2020 * [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A láthatóság ===== Minden tulajdonságot és függvényt valamilyen láthatósági módosító kulcsszóval szokás létrehozni. Ezek lehetnek: * public: * publikus tulajdonság és metódus. Hozzáférhető egy scriptben egy objektumpéldány létrehozás után is. * protected: * Védett tulajdonság és metódus. Csak a definiáló szülő osztályban vagy az örökölt osztályokban érhető el. * private: * Privát tulajdonság és metódus. Csak a definiáló osztályból férhetünk hozzá. ===== A public elérés ===== A következő példában van egy dolgozó osztályunk, egyetlen tulajdonsággal. Az elérése public, így az örökléssel létrehozott Mernok osztályban is elérhető. nev . "\n"; $bela = new Dolgozo(); echo $bela->nev . "\n"; ?> A $nev tulajdonság elérhető a $janos és a $bela objektumból is. ===== A protected elérés ===== nev . "\n"; } } $janos = new Mernok(); $janos->kiir(); //Hibás: // echo $janos->nev . "\n"; $bela = new Dolgozo(); // Hibás: // echo $bela->nev . "\n"; ?> Protected elérés esetén, még elérhető az örökölt osztályból a nev tulajdonság. ===== A private elérés ===== nev . "\n"; } } class Mernok extends Dolgozo { /* Hibás: public function kiir() { echo $this->nev . "\n"; }*/ } $janos = new Mernok(); $janos->kiir(); //Hibás: // echo $janos->nev . "\n"; $bela = new Dolgozo(); // Hibás: // echo $bela->nev . "\n"; $bela->kiir(); ?>