Προστατευμένες Ιδιότητες στην ΑΟΠ στην 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;
}
}
}
?>