НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗ppOpIhPrP 32 of 107 menu

Приватные свойства при наследовании в ООП в 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; } ?>

Убедитесь, что код метода приведет к ошибке.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить