Eine Klasse kann ihre Eigenschaften und Methoden an einer anderen Klasse vererben.
sichtbarkeitMethode.php
class NeuesAuto {
// max. 220
//private $geschwindigkeit = 0;
protected $geschwindigkeit = 0;
public function getGeschwindigkeit() {
return $this->geschwindigkeit;
}
public function setGeschwindigkeit($kmh) {
if ($this->isToFast($kmh)) {
echo "Zu schnell: $kmh<br>";
return;
}
$this->geschwindigkeit = $kmh;
}
private function isToFast($kmh) {
$maxKmh = $this->getKmhFromSettings();
if ($kmh > $maxKmh) {
return true;
}
return false;
}
private function getKmhFromSettings() {
// KMH max. aus DB abrufen...
return 220;
}
}
class NeuesRennauto extends NeuesAuto {
public function warmStart() {
// geht bei private nicht: $this->isToFast(200);
$this->geschwindigkeit = 50;
}
}
$auto = new NeuesAuto();
$auto->setGeschwindigkeit(200);
echo $auto->getGeschwindigkeit() . "<br>";
$auto->setGeschwindigkeit(500);
echo $auto->getGeschwindigkeit() . "<br>";
// $auto->geschwindigkeit = 500;