Код (Text):
<?php class Lesson { private $title; private $text; private $homework; function __construct($title, $text, $homework) { $this->title = $title . $this->text = $text . $this->homework = $homework; } function setLess() { return $this->title . $this->text . $this->homework; } function getLess ($title , $text, $homework) { $this->title = $title . $this->text = $text . $this->homework = $homework; } function getInfo () { $inf = $this->title . $this->text . $this->homework; return $inf; } } class PaidLesson extends Lesson { private $price; function __construct($title, $text, $homework, $price) { parent::__construct($title, $text, $homework); $this->price= $price; } function setPaid() { return $this->price; } function getPaid($price) { $this->price = $price; } function getInfo() { $inf = parent::getInfo() . $this->price; return $inf; } } $HomeWork = new PaidLesson(» Урок о наследовании», » Лол, кек, чебурек» , » спать», » 99.90″); echo $HomeWork->getInfo();Вроде бы все работает, но я где-то намудрил и на выходе у меня дважды дублируется $text и трижды $homework. Подскажите где я ошибся, сам не понимаю.
а кто вас такой чепухе учил?
вы сами попробуйте объяснить что делает эта строка?
скорее всего нужно былоPHP:
$this->title = $title ; $this->text = $text ; $this->homework = $homework;остальное тоже не блещет… обычно (по названию и по смыcлу) set — это устанавливает значение, а get — получает, у вас же наоборот все + опять неразбериха с многократным =
адекватно делают обычно так:
PHP:
function setLess($title , $text, $homework) { $this->title = $title; $this->text = $text; $this->homework = $homework; } function getLess () { return [‘title’ => $title , ‘text’ => $text, ‘homework’ => $homework]; }кароче вы должны понимать что вы делаете и зачем, а не слепо все подряд лепить
Спасибо за ответ