Propriétés protégées en POO en PHP
PHP prend également en charge les propriétés protégées.
Elles sont également déclarées avec le modificateur protected.
De telles propriétés sont héritées et accessibles
dans les classes descendantes.
Créons une classe parent avec une propriété protégée contenant l'âge :
<?php
class User {
protected $age;
public function setAge($age) {
$this->age = $age;
}
public function getAge() {
return $this->age;
}
}
?>
Dans la classe descendante, créons une méthode augmentant l'âge d'une unité :
<?php
class Student extends User {
public function incAge() {
$this->age++;
}
}
?>
Réécrivez le code suivant en utilisant une propriété protégée :
<?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;
}
}
}
?>