Хосиятҳои ҳифзшаванда дар ООП дар PHP
PHP низ хосиятҳои ҳифзшавандаро дастгирӣ мекунад.
Онҳо низ бо истифода аз модификатори protected эълон карда мешаванд.
Чунин хосиятҳо мерос гирифта мешаванд ва дар синфҳои фарзанд дастрасанд.
Биёед як синфи волидайн бо як хосияти ҳифзшаванда, ки синни фардро дар бар мегирад, эҷод кунем:
<?php
class User {
protected $age;
public function setAge($age) {
$this->age = $age;
}
public function getAge() {
return $this->age;
}
}
?>
Дар синфи фарзанд методеро эҷод мекунем, ки синнро ба як воҳид зиёд мекунад:
<?php
class Student extends User {
public function incAge() {
$this->age++;
}
}
?>
Коди зеринро бо истифода аз хосияти ҳифзшаванда нависед:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
class Employee extends User {
public function setName($name) {
if (strlen($name) > 0) {
$this->name = $name;
}
}
}
?>