Προστατευμένες Μέθοδοι στην ΑΝΠ στην PHP
Η PHP υποστηρίζει προστατευμένες μεθόδους
χρησιμοποιώντας τον τροποποιητή protected.
Αυτές οι μέθοδοι κληρονομούνται, αλλά δεν είναι ορατές
εξωτερικά της κλάσης.
Ας δούμε πώς λειτουργεί αυτό. Ας γράψουμε μια γονική κλάση με μια προστατευμένη μέθοδο:
<?php
class User {
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->capeFirst($this->name);
}
protected function capeFirst($str) {
return ucfirst($str);
}
}
?>
Ας χρησιμοποιήσουμε αυτήν την προστατευμένη μέθοδο σε μια παράγωγη κλάση:
<?php
class Student extends User {
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn);
}
}
?>
Στον ακόλουθο κώδικα, κάντε τη βοηθητική μέθοδο προστατευμένη:
<?php
class User {
public function setName($name) {
if ($this->notEmpty($name)) {
$this->name = $name;
}
}
public function getName() {
return $this->name;
}
public function notEmpty($str) {
return strlen($str) > 0;
}
}
class Employee extends User {
public function setSurn($surn) {
if ($this->notEmpty($surn)) {
$this->surn = $surn;
}
}
public function getSurn() {
return $this->surn;
}
}
?>