Приватни својства при наследување во ООП во PHP
Приватните својства не се наследуваат. Но, потомокот може да манипулира со нив преку јавните методи на родителот. Ајде да погледнеме во пракса. Нека имаме следнава родителска класа со приватно својство и негови гетер и сетер:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Нека од родителот наследува следниов потомок:
<?php
class Student extends User {
}
?>
Да креираме објект од потомокот:
<?php
$student = new Student;
?>
Да го искористиме методот на родителот, за да го запишеме неговото приватно својство:
<?php
$student->setName('john');
?>
Да го искористиме методот на родителот, за да го прочитаме неговото приватно својство:
<?php
$name = $student->getName();
echo $name;
?>
Дадена е следнава родителска класа:
<?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;
}
}
?>
Направете класа Employee,
која ќе наследува
од овој родител.
Создајте објект од класата Employee
и повикајте ги наследените
сетери и гетери.
Во класата Employee направете
следниов метод:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Проверете дали кодот на методот ќе доведе до грешка.