Здравствуйте, не могу решить какой паттерн будет для этого самый удобный.
Как связать несколько классов в одном? Имеем несколько классов
Car
,
Bus
,
Plane
. У всех этих классов есть один метод
getItems()
(все от одного интерфейса код ниже). Как их связать в одном классе
Transport
?
Чтобы доступ был так:
$carItems = (new Transport)->setTransport('Car')->getItems();
$busItems = (new Transport)->setTransport('Bus')->getItems();
// а также
$carItems = (new Car)->getItems();
$busItems = (new Bus)->getItems();
TransportInterfaceinterface TransportInterface
{
public function getItems();
}
Carclass Car implements TransportInterface
{
public function getItems()
{
return [];
}
}
Busclass Bus implements TransportInterface
{
public function getItems()
{
return [];
}
}
Planeclass Plane implements TransportInterface
{
public function getItems()
{
return [];
}
}