Beschermde eigenschappen in OOP in PHP
PHP ondersteunt ook beschermde eigenschappen.
Ze worden ook gedeclareerd met de modifier protected.
Der gelijke eigenschappen worden geërfd en toegankelijk
in afstammende klassen.
Laten we een ouderklasse maken met een beschermde eigenschap, die leeftijd bevat:
<?php
class User {
protected $age;
public function setAge($age) {
$this->age = $age;
}
public function getAge() {
return $this->age;
}
}
?>
In de afstammende klasse maken we een methode, die de leeftijd met één verhoogt:
<?php
class Student extends User {
public function incAge() {
$this->age++;
}
}
?>
Herschrijf de volgende code via een beschermde eigenschap:
<?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;
}
}
}
?>