Привет
В программе есть куча обьектов различных классов (самолеты, катера, вертолеты, танки, машины, грузовики), которые подключают различные
интерфейсы (ехать, лететь, стрелять, перевозить). Соответсвенно в коде надо использовать кучу условий чтобы понять что за обьекто
и какой метод можно вызвать:
foreach($vehicles as $vehicle) {
switch($vehicle->type)
{
case 'car':
$vehicle->move();
$vehicle->closeDoor();
break;
case 'ship':
$vehicle->move();
$vehicle->swim();
break;
case 'airplane':
$vehicle->fly();
$vehicle->landing();
break;
case 'tank':
$vehicle->move();
$vehicle->stop();
$vehicle->fire();
break;
}
$vehicle->stop();
}
Не могу понять какую лучше использовать технику чтобы избавится от кучи if в программе ? тк методы у обьекта могут быть разные полиморфизм не подходит, надо точно знать
обьект какого класса используется.