Tartalomjegyzék

< 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:

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