Privát tulajdonságok az OOP-ban PHP-ben
Az objektum azon tulajdonságait, amelyek kívülről olvashatók és írhatók, nyilvánosnak nevezzük. Léteznek privát tulajdonságok is, amelyek csak az osztályon belül lesznek elérhetők.
A privát tulajdonságok neveit
a private hozzáférési módosítóval kell deklarálni.
Tegyük ezt meg:
<?php
class User {
private $name;
}
?>
Most írjunk adatokat a tulajdonságunkba. Ez megtehető például az osztály konstruktorában:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Készítsünk most egy metódust, amely visszaadja a tulajdonságunk értékét:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Hozzuk létre az osztály objektumát, átadva paraméterként a felhasználó nevét:
<?php
$user = new User('john');
?>
Ha megpróbálunk közvetlenül hivatkozni a tulajdonságunkra az osztályon kívül, az hibához vezet:
<?php
echo $user->name; // hiba
?>
A metódusunk meghívása viszont lehetővé teszi a tulajdonság olvasását:
<?php
echo $user->show(); // kiírja 'john'-t
?>
A Employee osztályban készítsen
három privát tulajdonságot: nevet, fizetést
és kort.
Adja át a konstruktor paramétereként ezen tulajdonságok értékeit.
Készítsen egy metódust, amely kiírja a munkavállaló adatait.