0

Допустим, есть 3 класса:

class A {

}

class B {

}

class C {
  function A(){
     $a = new A();
     $b = new B();

  }
}

Можно ли в одном из классов в конструкторе или методе создать экземпляр другого класса?

2 ответа 2

4

Можно, а почему бы нет.

4
  • Тогда можно здесь же задам вопрос, скажем, есть массив данных. Выгодней и правильней передать его сразу объекту класса или по отдельности каждый элемент массива, например foreach($arr as $val) { $obj = new Articles($val);} Или $obj = new Articles($arr);
    – Jony
    1 сен 2014 в 20:38
  • 1
    Лучше сразу весь массив передавать.
    – terantul
    1 сен 2014 в 20:51
  • Дело в том, что в каждом элементе массива (многомерный) имеется значение type, проверка типа которой создает объект нужного класса: Articles, News, Comment. Я могу создать еще один класс, прокручивающий весь массив, и вызывая нужный экземпляр класса - но это не так, как вы мне советуйте, - весь массив. Какой выход?
    – Jony
    1 сен 2014 в 21:02
  • @Vasile, опишите, что этот код вообще делает.
    – etki
    2 сен 2014 в 10:13
1

Конечно можно

Дело в том, что в каждом элементе массива (многомерный) имеется значение type, проверка типа которой создает объект нужного класса: Articles, News, Comment. Я могу создать еще один класс, прокручивающий весь массив, и вызывая нужный экземпляр класса - но это не так, как вы мне советуйте, - весь массив. Какой выход?

посмотрите паттерны Фабрика стратегия

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.