PHP-də OOP-də Private xüsusiyyətlər
Obyektin xarici mühitdən oxuna və yazıla bilən xüsusiyyətləri public (açıq) adlanır. Həmçinin private (gizli) xüsusiyyətlər də mövcuddur, onlar yalnız klasın daxilində əlçatan olacaq.
Private xüsusiyyətlərin adları
private dəyişdiricisi ilə
bəyan edilməlidir.
Gəlin bunu edək:
<?php
class User {
private $name;
}
?>
İndi isə xüsusiyyətimizə məlumat yazaq. Bu, məsələn, klasın konstruktorunda edilə bilər:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
İndi isə xüsusiyyətimizin dəyərini qaytaracaq bir metod edək:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Gəlin klasın obyektini yaradaq, parametr olaraq istifadəçi adını ötürək:
<?php
$user = new User('john');
?>
Xüsusiyyətimizə birbaşa klasın xaricində müraciət etməyə cəhd səhvə səbəb olacaq:
<?php
echo $user->name; // səhv
?>
Metodumuzu çağırmaq isə bu xüsusiyyəti oxumağa imkan verəcək:
<?php
echo $user->show(); // 'john' çap edəcək
?>
Employee klasında
üç private xüsusiyyət edin: ad, maaş
və yaş.
Konstruktora parametr kimi bu xüsusiyyətlərin dəyərlərini ötürün.
İşçinin məlumatlarını çap edəcək bir metod edin.