Xpoint
   [напомнить пароль]

Инициализация переменных в родительском классе

Метки: [без меток]
2009-11-12 04:08:25 [обр] tcolonel[досье]

Всем доброго здравия.

Недавно начал заниматься классами, поэтому прошу сильно не "пинать" - я еще в этом деле только в начале пути. Вопрос такой, возможно ли инициализировать в родительском(их) классе(ах) переменные, через наследственный?

Пример:

$obj = new CС;

class CA
{
 var $tmp;
 
 function __construct()
 {
  $this->CA();
 }

 function CA()
 {
  $this->tmp = funcCA($param1, $param2, $param3);
 }

 function funcCA($param1, $param2, $param3)
 {
  $str = 'testA';
  return $str;
 }
}

class CB extends CA
{
 var $tmpB;
 
 function __construct()
 {
  $this->CB();
 }

 function CB()
 {
  $this->tmpB = funcCB($param1, $param2, $param3);
 }

 function funcCB($param1, $param2, $param3)
 {
  $str = 'testB';
  return $str;
 }
}

class CC extends CB
{
 function funcCB($param1)
 {
  $str = 'testB';
  return $str;
 }
}

Возможно ли сделать так, чтобы при создании объекта класса CC, переменные классов CB и CA инициализировались сами (понимаю, что можно просто создать два объекта, но хочется чтобы было все в одном и в тоже время хочется разделить функционал на классы)?

Спасибо.

спустя 5 часов [обр] Филипп Ткачев(20/112)[досье]

RTFM:

Замечание: Конструкторы в классах-родителях не вызываются автоматически. Чтобы вызвать конструктор, объявленный в родительском классе, следует обратиться к методу parent::__construct().

http://www.knigiforall.info/php/language.oop5.decon.html

спустя 10 часов [обр] tcolonel[досье]
Филипп Ткачев[досье]
Премного Вам благодарен Филипп. Спасибо за ссылку.
Powered by POEM™ Engine Copyright © 2002-2005