Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:php:php_oop:lathatosag

< PHP OOP

PHP OOP tagok láthatósága

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