Privaatsed omadused pärimisel OOP-s PHP-s
Privaatseid omadusi ei pärita. Kuid järglane saab nendega manipuleerida läbi vanema avalike meetodite. Vaatame seda praktikas. Olgu meil järgmine vanemaklass privaatse omaduse ja selle getteri ja setteriga:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Olgu vanemast päritud järgmine järglane:
<?php
class Student extends User {
}
?>
Loome järglase objekti:
<?php
$student = new Student;
?>
Kasutame vanema meetodit, et kirjutada selle privaatne omadus:
<?php
$student->setName('john');
?>
Kasutame vanema meetodit, et lugeda selle privaatne omadus:
<?php
$name = $student->getName();
echo $name;
?>
Antud on järgmine vanemaklass:
<?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;
}
}
?>
Tehke klass Employee,
mis pärineb
sellelt vanemalt.
Looge klassi Employee objekt
ja kutsuge päritud
setterid ja getterid.
Klassis Employee tehke
järgmine meetod:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Veenduge, et meetodi kood viib veani.