6. Конструктор. Метод _construct().

Конструктор — это специальный метод класса, который автоматически выполняется в момент создание объекта до вызова всех остальных методов класса. Данный метод используется главным образом для инициализации объекта, обеспечивая согласованность его членов.


 class cls
  {
    private $var;
    public function __construct()
    {
      echo "Вызов конструктора
"; $this->var = 100; } } $obj = new cls(); echo "
";
  print_r($obj);
  echo "

";

будит вот так


Вызов конструктора
cls Object

{
      [var:private]=>100

}

так же конструктор можно вызывать не в самом классе но и из внешнего кода.

 class cls
  {
    private $var;
    public function __construct()
    {
      echo "Вызов конструктора
"; $this->var = 100; } public function anarhist() { $this->__construct(); } } $obj = new cls(); $obj->__construct(); $obj->anarhist();

выведет следующие:

вызов конструктора
вызов конструктора
вызов конструктора

Рассмотрим параметры конструктора.


class point
  {
    public function __construct($x, $y)
    {
      $this->X = $x;
      $this->Y = $y;
    }
    public fuction get_x()
    {
      return $this->X;
    }
    public fuction get_y()
    {
      return $this->Y;
    }

    private $X;
    private $Y;
  }

теперь вызовем этот класс ()



  // $obj = new point(); // Вывод предупреждения missing argument 1 for point::_construct()


  $obj = new point(10, 20);
  echo $obj->get_x()." ".$obj->get_y(); // 10 20  


Теперь рассмотрим значения по умолчанию, чтобы невыводилась ошибка если мы просто создадим объект $obj = new point();


 class point
  {
    public function __construct($x = 0, $y = 0)
    {
      $this->X = $x;
      $this->Y = $y;
    }
    public function get_x()
    {
      return $this->X;
    }
    public function get_y()
    {
      return $this->Y;
    }

    private $X;
    private $Y;
  }

Теперь если даже $obj = new point(); то выведет 0 0

Отправить комментарий