Как сделать, чтобы переменная могла принадлежать нескольким классам

korpus

злой бобёр
Как сделать, чтобы переменная могла принадлежать нескольким классам

Есть класс:

Код:
myclass
{
  public function __construct(anotherclass $an_class)
  {

  //какие-то действия
  }
}
Классу myclass при инициализации нужно будет передать объект класса anotherclass. Если передать объект другого класса или какую-то переменную, то php ругнётся. Это, на мой взгляд, правильно, так как предотвращает последующие ошибки. А есть ли способ задать не один класс, а несколько? Мне необходимо, чтобы переменная $an_class могла принадлежать нескольким похожим классам. Так будет проще проконтролировать ошибки и случайно не засунуть в функцию переменную другого класса.
 

damngood

Мозг был, но ушел...
множественного наследования в php нет. Есть интерфейсы.
 

Духовность™

Продвинутый новичок
Наследование спасет отца русской демократии

PHP:
class base{
    protected $var;
    public function __construct(){}
    public function getVar(){return $this->var;}
}

class first extends base{
    public function __construct(){$this->var = 'first';}
}

class last extends base{
    public function __construct(){$this->var = 'last';}
}

class other{
    private $base;
    public function __construct(base $base){$this->base = $base;}
    public function getVarByBase(){return $this->base->getVar();}
}

$first = new first();
$last = new last();

$other = new other($first);
echo $other->getVarByBase();

echo '<br>';

$other = new other($last);
echo $other->getVarByBase();
Мне необходимо, чтобы переменная $an_class могла принадлежать нескольким похожим классам
"похожесть" в ООП - это наследование интерфейса.
 

Духовность™

Продвинутый новичок
Ну не понятно, что автор имеет в виду под похожестью. Тут и extends и implements может быть.
 
Сверху