[[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();
?>