Я не уверен, что понял ООП, но это моя идея:
<?php
class Car {
public $color;
public function setColor($value) {
$this->color = $tvalue;
}
}
class FactoryAudi extends Car {
public makeTheCar() {
//...
}
public getParent() {
return $this->parent;
}
}
class Audi extends Car {
public function setParent($parent) {
$this->parent = $parent;
}
}
$newAudi = FactoryAudi();
$newAudi->makeCar();
$audi = new Audi();
$audi->setParent($newAudi->getParent());
Я хочу перегрузить родителя нового подкласса с родителем другого подкласса (тот же родительский класс). Моя идея — сохранить данные, над которыми я уже работал, но переместить их в другой класс, чтобы я мог использовать эти данные. В моей голове это просто имеет смысл, но PHP не позволит мне сделать именно так.
Можно ли перегрузить родителя родителем того же типа из другого класса?
FactoryAudi не должен продлевать автомобиль. Наследование, в то время как средство агрегации, используется для отношений ISA. Таким образом, «Audi» ISA «автомобиль», но автомобильный завод не проходит тест ISA на то, чтобы быть автомобилем.
Кроме того, поскольку наследование «агрегирует», вам также не нужны «родительские» отношения.
Других решений пока нет …