Взаимодействие объектов в PHP Для изучения ООП PHP придумал такую задачку:
Есть класс "Город". Со свойством "Длина".
Есть класс "Авто". Со свойством "Скорость".
Создается объект "Город", который должен вывести сообщение о времени потраченном на прохождение объектом "Авто" всей длины "Города". При условии, что существует этот объект "Авто".
Не знаю как их заставить взаимодействовать:dlina = $dlina;
}
public function getDlina()
{
return $this->dlina;
}
}
class Avto
{
private $speed;
function __construct($speed)
{
$this->speed = $speed;
}
public function getSpeed()
{
return $this->speed;
}
}
$a = new Avto("20");
$g = new Gorod("100");
//Нужно как-то изменить класс Gorod, что бы он выдал "5" исходя из-того, что существует объект Avto со скоростью 20 и объект город имеет длину 100.
?>

21 Авг 2019 в 07:09
156 +1
0
Ответы
1

Для того чтобы объекты "Город" и "Авто" взаимодействовали, можно добавить метод в класс "Город", который будет принимать объект "Авто" и на его основе вычислять время прохождения всей длины города.

Пример кода:

class Gorod
{
private $dlina;
function __construct($dlina)
{
$this->dlina = $dlina;
}
public function getDlina()
{
return $this->dlina;
}
public function calculateTime(Avto $avto)
{
$time = $this->dlina / $avto->getSpeed();
return $time;
}
}
class Avto
{
private $speed;
function __construct($speed)
{
$this->speed = $speed;
}
public function getSpeed()
{
return $this->speed;
}
}
$a = new Avto("20");
$g = new Gorod("100");
echo $g->calculateTime($a); // Выведет 5

В данном примере добавлен метод calculateTime, который принимает объект "Авто" и на его основе вычисляет время прохождения всей длины города. При вызове этого метода с объектом "Авто" в качестве аргумента, будет получено время прохождения, которое затем можно вывести на экран.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир