Прыватныя ўласцівасці пры наследаванні ў ААП у PHP
Прыватныя ўласцівасці не наследуются. Але нашчадак можа маніпуляваць імі праз публічныя метады бацькі. Давайце паглядзім на практыцы. Хай у нас ёсць наступны клас-бацька з прыватнай уласцівасцю і яго гетэрам і сетэрам:
php<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Хай ад бацькі наследуе наступны нашчадак:
php<?php
class Student extends User {
}
?>
Стварым аб'ект нашчадка:
php<?php
$student = new Student;
?>
Скарыстаемся метадам бацькі, каб запісаць яго прыватную ўласцівасць:
php<?php
$student->setName('john');
?>
Скарыстаемся метадам бацькі, каб прачытаць яго прыватную ўласцівасць:
php<?php
$name = $student->getName();
echo $name;
?>
Задание 1
Дадзены наступны клас-бацька:
php<?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,
які будзе наследаваць
ад гэтага бацькі.
Задание 2
Стварыце аб'ект класа Employee
і выклічце ўспадкаваныя
сетэры і гетэры.
Задание 3
У класе Employee зрабіце
наступны метад:
php<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Пераканайцеся, што код метаду прыведзе да памылкі.