Beskyttede metoder i OOP i PHP
PHP understøtter beskyttede metoder
ved hjælp af modifikatoren protected.
Sådanne metoder nedarves, men er ikke synlige
udefra klassen.
Lad os se, hvordan dette fungerer. Lad os skrive en forældreklasse med en beskyttet metode:
<?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);
}
}
?>
Lad os bruge denne beskyttede metode i en underklasse:
<?php
class Student extends User {
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn);
}
}
?>
Gør hjælpemetoden beskyttet i følgende kode:
<?php
class User {
public function setName($name) {
if ($this->notEmpty($name)) {
$this->name = $name;
}
}
public function getName() {
return $this->name;
}
protected 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;
}
}
?>