oktatas:programozas:php:php_oop:lathatosag
Tartalomjegyzék
PHP OOP tagok láthatósága
- Szerző: Sallai András
- Copyright © Sallai András, 2020
- 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ő.
- index.php
<?php class Dolgozo { public $nev = 'Névtelen'; } class Mernok extends Dolgozo { } $janos = new Mernok(); echo $janos->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
- index.php
<?php class Dolgozo { protected $nev = 'Névtelen'; } class Mernok extends Dolgozo { 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"; ?>
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
- index.php
<?php class Dolgozo { private $nev = 'Névtelen'; public function kiir() { echo $this->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(); ?>
oktatas/programozas/php/php_oop/lathatosag.txt · Utolsó módosítás: 2020/06/20 17:09 szerkesztette: admin