Задать вопрос
EnChikiben
@EnChikiben

Наследование свойств PHP?

Добрый вечер! Сразу оговорюсь что я в ООП начинающей. Столкнулся с такой проблемой:


Класс a

class a {<br/>
<br/>
var $boby;<br/>
<br/>
$b = new b();<br/>
<br/>
}<br/>



Класс b наследник а

class b extends a {<br/>
<br/>
$this-&gt;boby=&quot;Текст&quot;;<br/>
<br/>
}<br/>



Все это подключаю к файлу a.php

&lt;?php<br/>
 $a= new a(); <br/>
?&gt;<br/>
<br/>
&lt;?php echo $a-&gt;body; ?&gt;<br/>
<br/>



Если свойство задать в классе a то оно выводится, а если его определить в классе b то оно не выводится.


Как это побороть подскажите.
  • Вопрос задан
  • 4152 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 3
@Hint
Класс-родитель создает внутри себя объект класса, являющегося его потомком? И это нормально?
Ответ написан
Так вы и создаете класс типа a, вот если создадите класс b, то оно будет браться из вашего определения в нем.
Ответ написан
Dzuba
@Dzuba
В экземпляре класса a и нет значения у свойства body, но оно есть в свойстве b класса a.
class a
{
	var $body;
	var $b;

	function __construct()
	{
		$this->b = new b();
	}
}
class b extends a
{
	function __construct()
	{
		$this->body = 'text';
	}
}

$a = new a();

echo $a->b->body;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы