Private Eigenschaften bei Vererbung in OOP in PHP
Private Eigenschaften werden nicht vererbt. Aber der Nachkomme kann sie über öffentliche Methoden des Elternteils manipulieren. Lasst uns das in der Praxis ansehen. Nehmen wir an, wir haben die folgende Elternklasse mit einer privaten Eigenschaft und ihrem Getter und Setter:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Nehmen wir an, von dem Elternteil erbt der folgende Nachkomme:
<?php
class Student extends User {
}
?>
Erstellen wir ein Objekt des Nachkommen:
<?php
$student = new Student;
?>
Nutzen wir die Methode des Elternteils, um seine private Eigenschaft zu setzen:
<?php
$student->setName('john');
?>
Nutzen wir die Methode des Elternteils, um seine private Eigenschaft auszulesen:
<?php
$name = $student->getName();
echo $name;
?>
Gegeben ist die folgende Elternklasse:
<?php
class User {
private $name;
private $surn;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Erstellen Sie die Klasse Employee,
die von diesem Elternteil erben soll.
Erstellen Sie ein Objekt der Klasse Employee
und rufen Sie die geerbten
Setter und Getter auf.
Machen Sie in der Klasse Employee
die folgende Methode:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Stellen Sie sicher, dass der Code der Methode zu einem Fehler führt.