Свободные установщики на дочерних и родительских классах в переполнении стека

У меня есть некоторые проблемы с концепцией беглых сеттеров. Я создал 2 предложения, которые происходят от одного и того же родителя. И я помещаю общие атрибуты между ними в родительский класс, и я хочу поместить туда установщики, чтобы не повторять один и тот же код для каждого дочернего класса.

Например:

<?php
class Vehicle {
protected $color;
protected $wheels;

public function setColor($color) {
$this->color = $color;
return $this;
}

public function setWheels($wheels) {
$this->wheels = $wheels;
return $this;
}
}

class Motorbike extends Vehicle {
protected $engine;

public function setEngine($engine) {
$this->engine = $engine;
return $this;
}
}

class Bike extends Vehicle {

}

Моя проблема, когда я делаю это:

$motorbike = new Motorbike();
$motorbike->setColor('blue')
->setEngine(4.2) // Here the returned '$this' referes to the parent class Vehicle, so the setEngine doesnt' exist.
->setWheels(4)

Есть ли вероятность, что родитель вернет $ this refering дочернему классу? Или есть лучший способ сделать это?

Спасибо!

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]