Взаимодействие объектов в 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
181 +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 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир